change: all movement separated into invidividual tasks, a lot of shuffling value groups and related stuff around
This commit is contained in:
@@ -14,238 +14,391 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_serializedGraph: '{"type":"NodeCanvas.StateMachines.FSM","nodes":[{"_onEnterList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"valueB":{"_value":4},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[System.Int32,
|
_serializedGraph: '{"type":"NodeCanvas.StateMachines.FSM","nodes":[{"_onEnterList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"valueB":{"_value":4},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[System.Int32,
|
||||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},{"moveSpeed":{"label":"Move
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{},"changeValue":2},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{},"changeValue":2},"airDirectionDecay":{"label":"Air
|
Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{},"changeValue":2},"accelerationSmoothing":{"label":"Acceleration
|
Speed Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{},"changeValue":2},"deaccelerationSmoothing":{"label":"Deacceleration
|
Direction Decay","changeValue":2,"value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Smoothing","value":{},"changeValue":2},"jumpPower":{"label":"Jump Power","value":{},"changeValue":1},"jumpPowerDecay":{"label":"Jump
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Decay Speed","value":{},"changeValue":2},"gravityPower":{"label":"Gravity Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Max","value":{},"changeValue":2},"gravityAcceleration":{"label":"Gravity Acceleration
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
Speed","value":{},"changeValue":1},"gravityScale":{"label":"Gravity Scale","value":{},"changeValue":2},"settingsChangeSmoothing":{"label":"Settings
|
Power","changeValue":1,"value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Change Smoothing","value":{}},"rotateFacing":{"label":"Facing Direction","newValue":{"$content":0,"$type":"PlayerFacingDirection"},"changeValue":2},"rotationSpeed":{"label":"Rotation
|
Decay Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{},"changeValue":2},"rotationInputBlending":{"label":"Rotation
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"fieldOfView":{"label":"FOV","value":{}},"orbitFollowTop":{"label":"Top","changeRadius":2},"orbitFollowCenter":{"label":"Center","changeRadius":2},"orbitFollowBottom":{"label":"Bottom","changeRadius":2},"axisLookXGain":{"label":"Look
|
Max","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
Orbit X Gain","value":{}},"axisLookYGain":{"label":"Look Orbit Y Gain","value":{}},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"}]},"_onUpdateList":{"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
Acceleration Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
Speed","value":{}},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{},"changeValue":2},"airDirectionDecay":{"label":"Air
|
Scale","changeValue":2,"value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{},"changeValue":2},"deaccelerationSmoothing":{"label":"Deacceleration
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Smoothing","value":{},"changeValue":2},"jumpPower":{"label":"Jump Power","value":{}},"jumpPowerDecay":{"label":"Jump
|
|
||||||
Decay Speed","value":{}},"gravityPower":{"label":"Gravity Power","value":{}},"gravityMax":{"label":"Gravity
|
|
||||||
Max","value":{}},"gravityAcceleration":{"label":"Gravity Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
|
||||||
Direction","newValue":{"$content":0,"$type":"PlayerFacingDirection"},"changeValue":2},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":0,"$type":"PlayerFacingDirection"},"changeValue":2},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"foldEnter":true,"foldUpdate":true,"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Grounded","_position":{"x":468.8087,"y":389.2739},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"0"},{"_position":{"x":369.3697,"y":186.864},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"1"},{"_actionList":{"actions":[{"moveSpeed":{"label":"Move
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
Speed","value":{}},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"fieldOfView":{"label":"FOV","value":{},"smoothing":{},"easing":{}},"orbitTargetOffset":{"label":"Target
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{"_value":1.0},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
Offset","value":{},"smoothing":{},"easing":{}},"orbitPositionDamping":{"label":"Position
|
||||||
Smoothing","value":{"_value":1.0},"changeValue":1},"jumpPower":{"label":"Jump
|
Damping","value":{},"smoothing":{},"easing":{}},"orbitFollowTop":{"label":"Top","changeRadius":2,"smoothing":{},"easing":{}},"orbitFollowCenter":{"label":"Center","changeRadius":2,"smoothing":{},"easing":{}},"orbitFollowBottom":{"label":"Bottom","changeRadius":2,"smoothing":{},"easing":{}},"enableXAxis":{"label":"Input
|
||||||
Power","value":{}},"jumpPowerDecay":{"label":"Jump Decay Speed","value":{},"changeValue":2},"gravityPower":{"label":"Gravity
|
Axis X Enabled","value":{"_value":true}},"enableYAxis":{"label":"Input Axis Y
|
||||||
Power","value":{}},"gravityMax":{"label":"Gravity Max","value":{}},"gravityAcceleration":{"label":"Gravity
|
Enabled","value":{"_value":true}},"axisLookXGain":{"label":"Look Orbit X Gain","value":{},"smoothing":{},"easing":{}},"axisLookYGain":{"label":"Look
|
||||||
Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
Orbit Y Gain","value":{},"smoothing":{},"easing":{}},"screenPosition":{"label":"Screen
|
||||||
Scale","value":{},"changeValue":2},"settingsChangeSmoothing":{"label":"Settings
|
Position","value":{},"smoothing":{},"easing":{}},"cameraOffset":{"label":"Offset","value":{},"smoothing":{},"easing":{}},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"}]},"_onUpdateList":{"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
Change Smoothing","value":{}},"rotationSpeed":{"label":"Rotation Speed","value":{}},"rotationSmoothing":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Smoothing","value":{},"changeValue":2},"rotationInputBlending":{"label":"Rotation
|
Speed Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"valueA":{"_name":"newAirMoveSmoothing","_targetVariableID":"9ba7a222-e29f-4ef5-8f1e-144189e5e5d3"},"valueB":{"_value":1.0},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Air
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
|
Direction","newValue":{"$content":0,"$type":"PlayerFacingDirection"},"changeValue":2},"rotationSpeed":{"label":"Rotation
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"foldEnter":true,"foldUpdate":true,"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Grounded","_position":{"x":468.8087,"y":389.2739},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"0"},{"_position":{"x":369.3697,"y":186.864},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"1"},{"_actionList":{"actions":[{"moveSpeed":{"label":"Move
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
|
Smoothing","changeValue":1,"value":{"_value":1.0},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
|
Smoothing","changeValue":1,"value":{"_value":1.0},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","changeValue":2,"value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotationSpeed":{"label":"Rotation
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"valueA":{"_name":"newAirMoveSmoothing","_targetVariableID":"9ba7a222-e29f-4ef5-8f1e-144189e5e5d3"},"valueB":{"_value":1.0},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Air
|
||||||
Reset Received"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"}]},"_color":{"r":0.3647059,"g":0.3215686,"b":1.0,"a":1.0},"_name":"Airborne
|
Reset Received"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"}]},"_color":{"r":0.3647059,"g":0.3215686,"b":1.0,"a":1.0},"_name":"Airborne
|
||||||
Standard Movement","_position":{"x":816.2676,"y":-364.6197},"$type":"NodeCanvas.StateMachines.ActionState","$id":"2"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Airborn
|
Standard Movement","_position":{"x":816.2676,"y":-364.6197},"$type":"NodeCanvas.StateMachines.ActionState","$id":"2"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Airborn
|
||||||
(Standby)","_position":{"x":630.0591,"y":-108.6804},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"3"},{"_actionList":{"executionMode":1,"actions":[{"raycastHit":{"_name":"_wallJumpHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallJumpHitNormal"},"point":{},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Left
|
(Standby)","_position":{"x":631.0591,"y":-108.6804},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"3"},{"_actionList":{"executionMode":1,"actions":[{"raycastHit":{"_name":"_wallJumpHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallJumpHitNormal"},"point":{},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Left
|
||||||
Side Wall Jump","_position":{"x":309.8118,"y":-282.4449},"$type":"NodeCanvas.StateMachines.ActionState","$id":"4"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
Side Wall Jump","_position":{"x":309.8118,"y":-282.4449},"$type":"NodeCanvas.StateMachines.ActionState","$id":"4"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{}},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
Speed","value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{},"changeValue":1},"feedNewDirection":{"label":"Feed New
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Direction","newValue":{"x":1.0,"z":0.5},"changeX":1,"changeZ":1},"newDirectionStrength":15.0,"jumpPower":{"label":"Jump
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Power","value":{},"changeValue":1},"jumpPowerDecay":{"label":"Jump Decay Speed","value":{},"changeValue":1},"gravityPower":{"label":"Gravity
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity Max","value":{}},"gravityAcceleration":{"label":"Gravity
|
New Direction","value":{},"smoothing":{},"easing":{},"changeX":1,"changeZ":1},"newDirectionStrength":15.0,"jumpPower":{"label":"Jump
|
||||||
Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
Power","changeValue":1,"value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
Decay Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4132327,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Left
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4132327,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Left
|
||||||
Side Wall Jump","_position":{"x":94.22898,"y":-440.666},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"5"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.5019608,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Airborn
|
Side Wall Jump","_position":{"x":94.22898,"y":-440.666},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"5"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.5019608,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Airborn
|
||||||
(Locked)","_position":{"x":-71.23453,"y":462.5237},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"6"},{"_position":{"x":-169.0027,"y":131.3442},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"7"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
(Locked)","_position":{"x":-71.23453,"y":462.5237},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"6"},{"_position":{"x":-169.0027,"y":131.3442},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"7"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{},"changeValue":1},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{},"changeValue":1},"airDirectionDecay":{"label":"Air
|
Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{},"changeValue":2},"accelerationSmoothing":{"label":"Acceleration
|
Speed Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
Direction Decay","changeValue":2,"value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Smoothing","value":{},"changeValue":1},"jumpPower":{"label":"Jump Power","value":{}},"jumpPowerDecay":{"label":"Jump
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Decay Speed","value":{}},"gravityPower":{"label":"Gravity Power","value":{},"changeValue":1},"gravityMax":{"label":"Gravity
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Max","value":{},"changeValue":1},"gravityAcceleration":{"label":"Gravity Acceleration
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
Speed","value":{},"changeValue":1},"gravityScale":{"label":"Gravity Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings
|
Power","value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Change Smoothing","value":{"_value":4.0},"changeValue":1},"rotateFacing":{"label":"Facing
|
Decay Speed","value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","changeValue":1,"value":{"_value":4.0},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"airDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"jumpPower":{"_name":"jumpPower","_targetVariableID":"9a82efee-e317-423c-ad6e-5ef7e6145396"},"targetLocation":{"_name":"_grappleLaunchDir"},"offset":{"_value":{"y":1.0}},"relativeRotation":{},"launchRelativeTo":{},"useRelativeForce":{"_value":true},"minimumForce":{},"maximumForce":{"_value":100.0},"forceRelativeToDistance":{"_value":4.0},"force":{},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.StartLaunchJump"},{"grapplePoint":{"_name":"_grappleLaunchDir"},"speed":40.0,"horizontalDotBreak":-0.6,"verticalDotBreak":-0.2,"$type":"NodeCanvas.Tasks.Actions.DoGrapplePull"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.5019608,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Grapple","_position":{"x":-486.7946,"y":-174.5741},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"8"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4132327,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Post
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"airDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"jumpPower":{"_name":"jumpPower","_targetVariableID":"9a82efee-e317-423c-ad6e-5ef7e6145396"},"targetLocation":{"_name":"_grappleLaunchDir"},"offset":{"_value":{"y":1.0}},"relativeRotation":{},"launchRelativeTo":{},"useRelativeForce":{"_value":true},"minimumForce":{},"maximumForce":{"_value":100.0},"forceRelativeToDistance":{"_value":4.0},"force":{},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.StartLaunchJump"},{"grapplePoint":{"_name":"_grappleLaunchDir"},"speed":40.0,"horizontalDotBreak":-0.6,"verticalDotBreak":-0.2,"$type":"NodeCanvas.Tasks.Actions.DoGrapplePull"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.5019608,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Grapple","_position":{"x":-486.7946,"y":-174.5741},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"8"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4132327,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Post
|
||||||
Grapple Jump","_position":{"x":-238.9581,"y":-559.5018},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"9"},{"_actionList":{"actions":[{"moveSpeed":{"label":"Move
|
Grapple Jump","_position":{"x":-238.9581,"y":-559.5018},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"9"},{"_actionList":{"actions":[{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{"_value":15.0},"changeValue":1},"moveSpeedSoothing":{"label":"Move
|
Speed","changeValue":1,"value":{"_value":15.0},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Speed Smoothing","value":{"_value":0.5},"changeValue":1},"airDirectionDecay":{"label":"Air
|
Speed Smoothing","changeValue":1,"value":{"_value":0.5},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{"_value":1.0},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Smoothing","value":{"_value":0.5},"changeValue":1},"jumpPower":{"label":"Jump
|
Smoothing","changeValue":1,"value":{"_value":1.0},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Power","value":{}},"jumpPowerDecay":{"label":"Jump Decay Speed","value":{},"changeValue":2},"gravityPower":{"label":"Gravity
|
Smoothing","changeValue":1,"value":{"_value":0.5},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity Max","value":{"_value":4.5},"changeValue":1},"gravityAcceleration":{"label":"Gravity
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
Acceleration Speed","value":{"_value":1.0},"changeValue":1},"gravityScale":{"label":"Gravity
|
Power","value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Scale","value":{},"changeValue":2},"settingsChangeSmoothing":{"label":"Settings
|
Decay Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
Change Smoothing","value":{"_value":0.2},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Max","changeValue":1,"value":{"_value":4.5},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"valueA":{"_name":"newAirMoveSmoothing","_targetVariableID":"9ba7a222-e29f-4ef5-8f1e-144189e5e5d3"},"valueB":{"_value":0.6},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Delay
|
Acceleration Speed","changeValue":1,"value":{"_value":1.0},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","changeValue":2,"value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","changeValue":1,"value":{"_value":0.2},"smoothing":{},"easing":{}},"rotationSpeed":{"label":"Rotation
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"valueA":{"_name":"newAirMoveSmoothing","_targetVariableID":"9ba7a222-e29f-4ef5-8f1e-144189e5e5d3"},"valueB":{"_value":0.6},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Delay
|
||||||
Air Movement Reset"},"eventValue":{"_value":2.5},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent`1[[System.Single,
|
Air Movement Reset"},"eventValue":{"_value":2.5},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent`1[[System.Single,
|
||||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}]},"_color":{"r":0.3647059,"g":0.3215686,"b":1.0,"a":1.0},"_name":"Post
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}]},"_color":{"r":0.3647059,"g":0.3215686,"b":1.0,"a":1.0},"_name":"Post
|
||||||
Grapple Movement","_position":{"x":-100.2183,"y":-237.2979},"$type":"NodeCanvas.StateMachines.ActionState","$id":"10"},{"_position":{"x":-270.4407,"y":64.96476},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"11"},{"_onEnterList":{"actions":[{"raycastHit":{"_name":"_wallStickHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallStickHitNormal"},"point":{"_name":"_wallStickHitPoint"},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"},{"moveSpeed":{"label":"Move
|
Grapple Movement","_position":{"x":-100.2183,"y":-237.2979},"$type":"NodeCanvas.StateMachines.ActionState","$id":"10"},{"_position":{"x":-270.4407,"y":64.96476},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"11"},{"_onEnterList":{"actions":[{"raycastHit":{"_name":"_wallStickHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallStickHitNormal"},"point":{"_name":"_wallStickHitPoint"},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"},{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{},"changeValue":1},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{},"changeValue":1},"airDirectionDecay":{"label":"Air
|
Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{},"changeValue":2},"deaccelerationSmoothing":{"label":"Deacceleration
|
Speed Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{},"changeValue":2},"feedNewDirection":{"label":"Feed New
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Direction","newValue":{"x":0.5,"z":0.5}},"jumpPower":{"label":"Jump Power","value":{},"changeValue":2},"jumpPowerDecay":{"label":"Jump
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Decay Speed","value":{},"changeValue":2},"gravityPower":{"label":"Gravity Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Max","value":{}},"gravityAcceleration":{"label":"Gravity Acceleration Speed","value":{},"changeValue":1},"gravityScale":{"label":"Gravity
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Direction","newValue":{"$content":5,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":5,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{},"changeValue":1},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{},"changeValue":1},"feedNewRotation":{"_value":{"y":-45.0}},"feedRelativeTo":{"_name":"_wallStickHitNormal"},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Right
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","changeValue":1,"value":{},"smoothing":{},"easing":{}},"feedNewRotation":{"_value":{"y":-45.0}},"feedRelativeTo":{"_name":"_wallStickHitNormal"},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Right
|
||||||
Wall Stick","_position":{"x":1440.892,"y":491.8188},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"12"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
Wall Stick","_position":{"x":1440.892,"y":491.8188},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"12"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{},"changeValue":2},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{},"changeValue":2},"airDirectionDecay":{"label":"Air
|
Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
Speed Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{},"changeValue":1},"feedNewDirection":{"label":"Feed New
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Direction","newValue":{"z":1.0},"changeX":1,"changeZ":1},"newDirectionStrength":22.0,"jumpPower":{"label":"Jump
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Power","value":{},"changeValue":1},"jumpPowerDecay":{"label":"Jump Decay Speed","value":{},"changeValue":1},"gravityPower":{"label":"Gravity
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity Max","value":{}},"gravityAcceleration":{"label":"Gravity
|
New Direction","value":{},"smoothing":{},"easing":{},"changeX":1,"changeZ":1},"newDirectionStrength":22.0,"jumpPower":{"label":"Jump
|
||||||
Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
Power","changeValue":1,"value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Scale","value":{},"changeValue":2},"settingsChangeSmoothing":{"label":"Settings
|
Decay Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
Change Smoothing","value":{}},"rotateFacing":{"label":"Facing Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{},"changeValue":2},"rotationInputBlending":{"label":"Rotation
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
Input Blending","value":{},"changeValue":2},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Right
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","changeValue":2,"value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","changeValue":2,"value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Right
|
||||||
Wall Launch","_position":{"x":1539.249,"y":-269.5498},"$type":"NodeCanvas.StateMachines.ActionState","$id":"13"},{"_name":"back
|
Wall Launch","_position":{"x":1539.249,"y":-269.5498},"$type":"NodeCanvas.StateMachines.ActionState","$id":"13"},{"_name":"back
|
||||||
to airborne","_position":{"x":1318.265,"y":-168.164},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"14"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
to airborne","_position":{"x":1318.265,"y":-168.164},"$type":"NodeCanvas.StateMachines.EmptyState","$id":"14"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{}},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
Speed","value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{}},"jumpPower":{"label":"Jump Power","value":{}},"jumpPowerDecay":{"label":"Jump
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Decay Speed","value":{},"changeValue":2},"gravityPower":{"label":"Gravity Power","value":{}},"gravityMax":{"label":"Gravity
|
Smoothing","value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Max","value":{}},"gravityAcceleration":{"label":"Gravity Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
Smoothing","value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Scale","value":{},"changeValue":2},"settingsChangeSmoothing":{"label":"Settings
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
Change Smoothing","value":{}},"rotateFacing":{"label":"Facing Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Power","value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Decay Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
Power","value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
Speed","value":{},"changeValue":2},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{},"changeValue":2},"airDirectionDecay":{"label":"Air
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
Smoothing","value":{}},"jumpPower":{"label":"Jump Power","value":{}},"jumpPowerDecay":{"label":"Jump
|
Scale","changeValue":2,"value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
Decay Speed","value":{}},"gravityPower":{"label":"Gravity Power","value":{}},"gravityMax":{"label":"Gravity
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Max","value":{}},"gravityAcceleration":{"label":"Gravity Acceleration Speed","value":{}},"gravityScale":{"label":"Gravity
|
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotationSpeed":{"label":"Rotation
|
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Wall
|
|
||||||
Slide","_position":{"x":1163.601,"y":367.7003},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"15"},{"_onEnterList":{"actions":[{"raycastHit":{"_name":"_wallStickHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallStickHitNormal"},"point":{"_name":"_wallStickHitPoint"},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"},{"moveSpeed":{"label":"Move
|
|
||||||
Speed","value":{},"changeValue":1},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{},"changeValue":1},"airDirectionDecay":{"label":"Air
|
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{},"changeValue":2},"deaccelerationSmoothing":{"label":"Deacceleration
|
|
||||||
Smoothing","value":{},"changeValue":2},"feedNewDirection":{"label":"Feed New
|
|
||||||
Direction","newValue":{"x":0.5,"z":0.5}},"jumpPower":{"label":"Jump Power","value":{},"changeValue":2},"jumpPowerDecay":{"label":"Jump
|
|
||||||
Decay Speed","value":{},"changeValue":2},"gravityPower":{"label":"Gravity Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity
|
|
||||||
Max","value":{}},"gravityAcceleration":{"label":"Gravity Acceleration Speed","value":{},"changeValue":1},"gravityScale":{"label":"Gravity
|
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
|
||||||
Direction","newValue":{"$content":5,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{},"changeValue":1},"rotationInputBlending":{"label":"Rotation
|
|
||||||
Input Blending","value":{},"changeValue":1},"feedNewRotation":{"_value":{"y":45.0}},"feedRelativeTo":{"_name":"_wallStickHitNormal"},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Left
|
|
||||||
Wall Stick","_position":{"x":1293.098,"y":192.7727},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"16"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
|
||||||
Speed","value":{},"changeValue":2},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{},"changeValue":2},"airDirectionDecay":{"label":"Air
|
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
|
||||||
Smoothing","value":{},"changeValue":1},"feedNewDirection":{"label":"Feed New
|
|
||||||
Direction","newValue":{"z":1.0},"changeX":1,"changeZ":1},"newDirectionStrength":22.0,"jumpPower":{"label":"Jump
|
|
||||||
Power","value":{},"changeValue":1},"jumpPowerDecay":{"label":"Jump Decay Speed","value":{},"changeValue":1},"gravityPower":{"label":"Gravity
|
|
||||||
Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity Max","value":{}},"gravityAcceleration":{"label":"Gravity
|
|
||||||
Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
|
||||||
Scale","value":{},"changeValue":2},"settingsChangeSmoothing":{"label":"Settings
|
|
||||||
Change Smoothing","value":{}},"rotateFacing":{"label":"Facing Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{},"changeValue":2},"rotationInputBlending":{"label":"Rotation
|
|
||||||
Input Blending","value":{},"changeValue":2},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Left
|
|
||||||
Wall Launch","_position":{"x":1461.118,"y":-136.9542},"$type":"NodeCanvas.StateMachines.ActionState","$id":"17"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
|
||||||
Speed","value":{}},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
|
||||||
Direction Decay","value":{},"changeValue":1},"accelerationSmoothing":{"label":"Acceleration
|
|
||||||
Smoothing","value":{},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
|
||||||
Smoothing","value":{},"changeValue":1},"feedNewDirection":{"label":"Feed New
|
|
||||||
Direction","newValue":{"z":0.1},"changeZ":1},"jumpPower":{"label":"Jump Power","value":{},"changeValue":1},"jumpPowerDecay":{"label":"Jump
|
|
||||||
Decay Speed","value":{},"changeValue":1},"gravityPower":{"label":"Gravity Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity
|
|
||||||
Max","value":{}},"gravityAcceleration":{"label":"Gravity Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
|
||||||
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Wall
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
|
Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
|
Speed Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
|
Smoothing","value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
|
Smoothing","value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotationSpeed":{"label":"Rotation
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Wall
|
||||||
|
Slide","_position":{"x":1163.601,"y":367.7003},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"15"},{"_onEnterList":{"actions":[{"raycastHit":{"_name":"_wallStickHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallStickHitNormal"},"point":{"_name":"_wallStickHitPoint"},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"},{"moveSpeed":{"label":"Move
|
||||||
|
Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
|
Speed Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
|
Direction","newValue":{"$content":5,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","changeValue":1,"value":{},"smoothing":{},"easing":{}},"feedNewRotation":{"_value":{"y":45.0}},"feedRelativeTo":{"_name":"_wallStickHitNormal"},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Left
|
||||||
|
Wall Stick","_position":{"x":1293.098,"y":192.7727},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"16"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
|
Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
|
Speed Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
|
New Direction","value":{},"smoothing":{},"easing":{},"changeX":1,"changeZ":1},"newDirectionStrength":22.0,"jumpPower":{"label":"Jump
|
||||||
|
Power","changeValue":1,"value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","changeValue":2,"value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","changeValue":2,"value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Left
|
||||||
|
Wall Launch","_position":{"x":1461.118,"y":-136.9542},"$type":"NodeCanvas.StateMachines.ActionState","$id":"17"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
|
Direction Decay","changeValue":1,"value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
|
New Direction","value":{},"smoothing":{},"easing":{},"changeZ":1},"jumpPower":{"label":"Jump
|
||||||
|
Power","changeValue":1,"value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Wall
|
||||||
Climb Jump","_position":{"x":1001.339,"y":-546.4128},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"18"},{"_actionList":{"executionMode":1,"actions":[{"raycastHit":{"_name":"_wallJumpHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallJumpHitNormal"},"point":{},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Right
|
Climb Jump","_position":{"x":1001.339,"y":-546.4128},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"18"},{"_actionList":{"executionMode":1,"actions":[{"raycastHit":{"_name":"_wallJumpHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallJumpHitNormal"},"point":{},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_name":"Right
|
||||||
Side Wall Jump","_position":{"x":410.2013,"y":-480.2733},"$type":"NodeCanvas.StateMachines.ActionState","$id":"19"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
Side Wall Jump","_position":{"x":410.2013,"y":-480.2733},"$type":"NodeCanvas.StateMachines.ActionState","$id":"19"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{}},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
Speed","value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{},"changeValue":1},"feedNewDirection":{"label":"Feed New
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Direction","newValue":{"x":-1.0,"z":0.5},"changeX":1,"changeZ":1},"newDirectionStrength":15.0,"jumpPower":{"label":"Jump
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Power","value":{},"changeValue":1},"jumpPowerDecay":{"label":"Jump Decay Speed","value":{},"changeValue":1},"gravityPower":{"label":"Gravity
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity Max","value":{}},"gravityAcceleration":{"label":"Gravity
|
New Direction","value":{},"smoothing":{},"easing":{},"changeX":1,"changeZ":1},"newDirectionStrength":15.0,"jumpPower":{"label":"Jump
|
||||||
Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
Power","changeValue":1,"value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
Decay Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Right
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Right
|
||||||
Side Wall Jump","_position":{"x":285.3196,"y":-670.1414},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"20"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
Side Wall Jump","_position":{"x":285.3196,"y":-670.1414},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"20"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{}},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
Speed","value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{"_value":2.0},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{"_value":2.0},"changeValue":1},"addDirectionFromInput":{"x":1.0,"y":1.0},"addInputPriorty":0.514,"jumpPower":{"label":"Jump
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Power","value":{"_value":14.0},"changeValue":1},"jumpPowerDecay":{"label":"Jump
|
Smoothing","changeValue":1,"value":{"_value":2.0},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Decay Speed","value":{"_value":1.0},"changeValue":1},"gravityPower":{"label":"Gravity
|
Smoothing","changeValue":1,"value":{"_value":2.0},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity Max","value":{}},"gravityAcceleration":{"label":"Gravity
|
New Direction","value":{},"smoothing":{},"easing":{}},"addDirectionFromInput":{"x":1.0,"y":1.0},"addInputPriorty":0.514,"jumpPower":{"label":"Jump
|
||||||
Acceleration Speed","value":{},"changeValue":1},"gravityScale":{"label":"Gravity
|
Power","changeValue":1,"value":{"_value":14.0},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
Decay Speed","changeValue":1,"value":{"_value":1.0},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"fieldOfView":{"label":"FOV","value":{}},"orbitFollowTop":{"label":"Top","changeRadius":1,"radius":7.0},"orbitFollowCenter":{"label":"Center","changeRadius":1,"radius":8.0},"orbitFollowBottom":{"label":"Bottom","changeRadius":1,"radius":5.0},"axisLookXGain":{"label":"Look
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
Orbit X Gain","value":{}},"axisLookYGain":{"label":"Look Orbit Y Gain","value":{}},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},{"log":{"_value":"Jumped"},"secondsToRun":0.0,"$type":"NodeCanvas.Tasks.Actions.DebugLogText"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Standard
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"fieldOfView":{"label":"FOV","value":{},"smoothing":{},"easing":{}},"orbitTargetOffset":{"label":"Target
|
||||||
|
Offset","value":{},"smoothing":{},"easing":{}},"orbitPositionDamping":{"label":"Position
|
||||||
|
Damping","value":{},"smoothing":{},"easing":{}},"orbitFollowTop":{"label":"Top","changeRadius":1,"radius":7.0,"smoothing":{},"easing":{}},"orbitFollowCenter":{"label":"Center","changeRadius":1,"radius":8.0,"smoothing":{},"easing":{}},"orbitFollowBottom":{"label":"Bottom","changeRadius":1,"radius":5.0,"smoothing":{},"easing":{}},"enableXAxis":{"label":"Input
|
||||||
|
Axis X Enabled","value":{"_value":true}},"enableYAxis":{"label":"Input Axis Y
|
||||||
|
Enabled","value":{"_value":true}},"axisLookXGain":{"label":"Look Orbit X Gain","value":{},"smoothing":{},"easing":{}},"axisLookYGain":{"label":"Look
|
||||||
|
Orbit Y Gain","value":{},"smoothing":{},"easing":{}},"screenPosition":{"label":"Screen
|
||||||
|
Position","value":{},"smoothing":{},"easing":{}},"cameraOffset":{"label":"Offset","value":{},"smoothing":{},"easing":{}},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},{"log":{"_value":"Jumped"},"secondsToRun":0.0,"$type":"NodeCanvas.Tasks.Actions.DebugLogText"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Standard
|
||||||
Jump","_position":{"x":758.6965,"y":226.1113},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"21"},{"_actionList":{"actions":[{"valueA":{"_name":"newAirMoveSmoothing","_targetVariableID":"9ba7a222-e29f-4ef5-8f1e-144189e5e5d3"},"valueB":{"_value":1.0},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Air
|
Jump","_position":{"x":758.6965,"y":226.1113},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"21"},{"_actionList":{"actions":[{"valueA":{"_name":"newAirMoveSmoothing","_targetVariableID":"9ba7a222-e29f-4ef5-8f1e-144189e5e5d3"},"valueB":{"_value":1.0},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"eventName":{"_value":"Air
|
||||||
Reset Received"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"},{"moveSpeed":{"label":"Move
|
Reset Received"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"},{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{},"changeValue":2},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{},"changeValue":2},"accelerationSmoothing":{"label":"Acceleration
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{},"changeValue":2},"deaccelerationSmoothing":{"label":"Deacceleration
|
Direction Decay","changeValue":2,"value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Smoothing","value":{}},"jumpPower":{"label":"Jump Power","value":{}},"jumpPowerDecay":{"label":"Jump
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Decay Speed","value":{},"changeValue":2},"gravityPower":{"label":"Gravity Power","value":{}},"gravityMax":{"label":"Gravity
|
Smoothing","value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Max","value":{},"changeValue":2},"gravityAcceleration":{"label":"Gravity Acceleration
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity Scale","value":{},"changeValue":2},"settingsChangeSmoothing":{"label":"Settings
|
Power","value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Change Smoothing","value":{},"changeValue":2},"rotationSpeed":{"label":"Rotation
|
Decay Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
Speed","value":{},"changeValue":2},"rotationSmoothing":{"label":"Rotation Smoothing","value":{},"changeValue":2},"rotationInputBlending":{"label":"Rotation
|
Power","value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
Input Blending","value":{},"changeValue":2},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_color":{"r":0.3647059,"g":0.3215686,"b":1.0,"a":1.0},"_name":"Airborne
|
Max","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","changeValue":2,"value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"rotationSpeed":{"label":"Rotation
|
||||||
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
|
Smoothing","changeValue":2,"value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","changeValue":2,"value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_color":{"r":0.3647059,"g":0.3215686,"b":1.0,"a":1.0},"_name":"Airborne
|
||||||
Standard Movement","_position":{"x":286.209,"y":32.4603},"$type":"NodeCanvas.StateMachines.ActionState","$id":"22"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
Standard Movement","_position":{"x":286.209,"y":32.4603},"$type":"NodeCanvas.StateMachines.ActionState","$id":"22"},{"_actionList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{},"changeValue":1},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{}},"feedNewDirection":{"label":"Feed New Direction","newValue":{"z":1.0}},"jumpPower":{"label":"Jump
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Power","value":{}},"jumpPowerDecay":{"label":"Jump Decay Speed","value":{}},"gravityPower":{"label":"Gravity
|
Smoothing","value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Power","value":{}},"gravityMax":{"label":"Gravity Max","value":{}},"gravityAcceleration":{"label":"Gravity
|
Smoothing","value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Acceleration Speed","value":{},"changeValue":1},"gravityScale":{"label":"Gravity
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
Power","value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"fieldOfView":{"label":"FOV","value":{},"changeValue":1},"axisLookXGain":{"label":"Look
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
Orbit X Gain","value":{}},"axisLookYGain":{"label":"Look Orbit Y Gain","value":{}},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"}]},"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Sprint
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"fieldOfView":{"label":"FOV","changeValue":1,"value":{},"smoothing":{},"easing":{}},"orbitTargetOffset":{"label":"Target
|
||||||
|
Offset","value":{},"smoothing":{},"easing":{}},"orbitPositionDamping":{"label":"Position
|
||||||
|
Damping","value":{},"smoothing":{},"easing":{}},"enableXAxis":{"label":"Input
|
||||||
|
Axis X Enabled","value":{"_value":true}},"enableYAxis":{"label":"Input Axis Y
|
||||||
|
Enabled","value":{"_value":true}},"axisLookXGain":{"label":"Look Orbit X Gain","value":{},"smoothing":{},"easing":{}},"axisLookYGain":{"label":"Look
|
||||||
|
Orbit Y Gain","value":{},"smoothing":{},"easing":{}},"screenPosition":{"label":"Screen
|
||||||
|
Position","value":{},"smoothing":{},"easing":{}},"cameraOffset":{"label":"Offset","value":{},"smoothing":{},"easing":{}},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"}]},"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Sprint
|
||||||
Burst","_position":{"x":633.7453,"y":530.2648},"$type":"NodeCanvas.StateMachines.ActionState","$id":"23"},{"_onEnterList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"valueB":{"_value":4},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[System.Int32,
|
Burst","_position":{"x":633.7453,"y":530.2648},"$type":"NodeCanvas.StateMachines.ActionState","$id":"23"},{"_onEnterList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"valueB":{"_value":4},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[System.Int32,
|
||||||
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},{"moveSpeed":{"label":"Move
|
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{}},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{},"changeValue":1},"airDirectionDecay":{"label":"Air
|
Speed","value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
Speed Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{}},"jumpPower":{"label":"Jump Power","value":{},"changeValue":1},"jumpPowerDecay":{"label":"Jump
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
Decay Speed","value":{}},"gravityPower":{"label":"Gravity Power","value":{}},"gravityMax":{"label":"Gravity
|
Smoothing","value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Max","value":{}},"gravityAcceleration":{"label":"Gravity Acceleration Speed","value":{},"changeValue":1},"gravityScale":{"label":"Gravity
|
Smoothing","value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
|
Power","changeValue":1,"value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"fieldOfView":{"label":"FOV","value":{},"changeValue":2},"axisLookXGain":{"label":"Look
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
Orbit X Gain","value":{}},"axisLookYGain":{"label":"Look Orbit Y Gain","value":{}},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"}]},"_onUpdateList":{"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"},{"fieldOfView":{"label":"FOV","changeValue":2,"value":{},"smoothing":{},"easing":{}},"orbitTargetOffset":{"label":"Target
|
||||||
Speed","value":{},"changeValue":1},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
Offset","value":{},"smoothing":{},"easing":{}},"orbitPositionDamping":{"label":"Position
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
Damping","value":{},"smoothing":{},"easing":{}},"enableXAxis":{"label":"Input
|
||||||
Smoothing","value":{},"changeValue":1},"jumpPower":{"label":"Jump Power","value":{}},"jumpPowerDecay":{"label":"Jump
|
Axis X Enabled","value":{"_value":true}},"enableYAxis":{"label":"Input Axis Y
|
||||||
Decay Speed","value":{}},"gravityPower":{"label":"Gravity Power","value":{}},"gravityMax":{"label":"Gravity
|
Enabled","value":{"_value":true}},"axisLookXGain":{"label":"Look Orbit X Gain","value":{},"smoothing":{},"easing":{}},"axisLookYGain":{"label":"Look
|
||||||
Max","value":{}},"gravityAcceleration":{"label":"Gravity Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
Orbit Y Gain","value":{},"smoothing":{},"easing":{}},"screenPosition":{"label":"Screen
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
Position","value":{},"smoothing":{},"easing":{}},"cameraOffset":{"label":"Offset","value":{},"smoothing":{},"easing":{}},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"}]},"_onUpdateList":{"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
|
Speed","changeValue":1,"value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
|
Smoothing","changeValue":1,"value":{},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
|
New Direction","value":{},"smoothing":{},"easing":{}},"jumpPower":{"label":"Jump
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
|
Decay Speed","value":{},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":2},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":2},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Grounded
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"foldEnter":true,"foldUpdate":true,"foldExit":true,"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Grounded
|
||||||
Running","_position":{"x":829.2946,"y":679.0282},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"24"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
Running","_position":{"x":829.2946,"y":679.0282},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"24"},{"_onEnterList":{"executionMode":1,"actions":[{"moveSpeed":{"label":"Move
|
||||||
Speed","value":{}},"moveSpeedSoothing":{"label":"Move Speed Smoothing","value":{}},"airDirectionDecay":{"label":"Air
|
Speed","value":{},"smoothing":{},"easing":{}},"moveSpeedSoothing":{"label":"Move
|
||||||
Direction Decay","value":{}},"accelerationSmoothing":{"label":"Acceleration Smoothing","value":{"_value":2.0},"changeValue":1},"deaccelerationSmoothing":{"label":"Deacceleration
|
Speed Smoothing","value":{},"smoothing":{},"easing":{}},"airDirectionDecay":{"label":"Air
|
||||||
Smoothing","value":{"_value":2.0},"changeValue":1},"feedNewDirection":{"label":"Feed
|
Direction Decay","value":{},"smoothing":{},"easing":{}},"accelerationSmoothing":{"label":"Acceleration
|
||||||
New Direction","newValue":{"z":1.0},"changeZ":1},"jumpPower":{"label":"Jump Power","value":{"_value":13.0},"changeValue":1},"jumpPowerDecay":{"label":"Jump
|
Smoothing","changeValue":1,"value":{"_value":2.0},"smoothing":{},"easing":{}},"deaccelerationSmoothing":{"label":"Deacceleration
|
||||||
Decay Speed","value":{"_value":2.0},"changeValue":1},"gravityPower":{"label":"Gravity
|
Smoothing","changeValue":1,"value":{"_value":2.0},"smoothing":{},"easing":{}},"feedNewDirection":{"label":"Feed
|
||||||
Power","value":{},"changeValue":2},"gravityMax":{"label":"Gravity Max","value":{}},"gravityAcceleration":{"label":"Gravity
|
New Direction","value":{},"smoothing":{},"easing":{},"changeZ":1},"jumpPower":{"label":"Jump
|
||||||
Acceleration Speed","value":{},"changeValue":2},"gravityScale":{"label":"Gravity
|
Power","changeValue":1,"value":{"_value":13.0},"smoothing":{},"easing":{}},"jumpPowerDecay":{"label":"Jump
|
||||||
Scale","value":{}},"settingsChangeSmoothing":{"label":"Settings Change Smoothing","value":{}},"rotateFacing":{"label":"Facing
|
Decay Speed","changeValue":1,"value":{"_value":2.0},"smoothing":{},"easing":{}},"gravityPower":{"label":"Gravity
|
||||||
|
Power","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityMax":{"label":"Gravity
|
||||||
|
Max","value":{},"smoothing":{},"easing":{}},"gravityAcceleration":{"label":"Gravity
|
||||||
|
Acceleration Speed","changeValue":2,"value":{},"smoothing":{},"easing":{}},"gravityScale":{"label":"Gravity
|
||||||
|
Scale","value":{},"smoothing":{},"easing":{}},"settingsChangeSmoothing":{"label":"Settings
|
||||||
|
Change Smoothing","value":{},"smoothing":{},"easing":{}},"rotateFacing":{"label":"Facing
|
||||||
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
Direction","newValue":{"$content":4,"$type":"PlayerFacingDirection"},"changeValue":1},"rotationSpeed":{"label":"Rotation
|
||||||
Speed","value":{}},"rotationSmoothing":{"label":"Rotation Smoothing","value":{}},"rotationInputBlending":{"label":"Rotation
|
Speed","value":{},"smoothing":{},"easing":{}},"rotationSmoothing":{"label":"Rotation
|
||||||
Input Blending","value":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Run
|
Smoothing","value":{},"smoothing":{},"easing":{}},"rotationInputBlending":{"label":"Rotation
|
||||||
|
Input Blending","value":{},"smoothing":{},"easing":{}},"feedNewRotation":{},"feedRelativeTo":{},"$type":"Reset.Core.ChangeMovementSettings"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"airJumpsRemaining","_targetVariableID":"23f0ddc0-c4e8-462f-a7e0-fdd8e818d08d"},"Operation":2,"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetInt"}]},"foldEnter":true,"foldExit":true,"_color":{"r":0.4117647,"g":0.945098,"b":0.254902,"a":1.0},"_name":"Run
|
||||||
Jump","_position":{"x":1013.465,"y":94.1021},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"25"},{"_subTree":{"_value":1},"_variablesMap":[{"_targetSubGraphVariableID":"e1cfd0be-7f55-420d-bdd8-e72531fc61ba","_canWrite":true,"_type":"UnityEngine.Transform","_name":"mainCamera","_targetVariableID":"2bc9b3d6-dcbe-45de-8f8c-911adedd6ab0"},{"_targetSubGraphVariableID":"c4e68b75-5129-428c-8177-abb7b38986f5","_canWrite":true,"_type":"PlayerFacingDirection","_value":{"$content":0,"$type":"PlayerFacingDirection"}}],"_position":{"x":-510.8982,"y":192.1267},"$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_subTree":{"_value":2},"_tag":"","_position":{"x":88.88627,"y":313.6888},"_comment":"","$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_conditionList":{"conditions":[]},"_actionList":{"executionMode":1,"actions":[{"targetVector":{"_name":"outputMoveDirection","_targetVariableID":"3b9833f5-870a-4182-9824-e31a9896eec2"},"x":{"_name":""},"y":{"_name":"_currentYMoveDirection"},"z":{"_name":""},"$type":"NodeCanvas.Tasks.Actions.DecomposeVector"}]},"_position":{"x":40.44446,"y":196.4959},"$type":"NodeCanvas.StateMachines.OnFSMUpdate"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Airborne
|
Jump","_position":{"x":1013.465,"y":94.1021},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"25"},{"_subTree":{"_value":1},"_variablesMap":[{"_targetSubGraphVariableID":"e1cfd0be-7f55-420d-bdd8-e72531fc61ba","_canWrite":true,"_type":"UnityEngine.Transform","_name":"mainCamera","_targetVariableID":"2bc9b3d6-dcbe-45de-8f8c-911adedd6ab0"},{"_targetSubGraphVariableID":"c4e68b75-5129-428c-8177-abb7b38986f5","_canWrite":true,"_type":"PlayerFacingDirection","_value":{"$content":0,"$type":"PlayerFacingDirection"}}],"_position":{"x":-510.8982,"y":192.1267},"$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_subTree":{"_value":2},"_tag":"","_position":{"x":88.88627,"y":313.6888},"_comment":"","$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_conditionList":{"conditions":[]},"_actionList":{"executionMode":1,"actions":[{"targetVector":{"_name":"outputMoveDirection","_targetVariableID":"3b9833f5-870a-4182-9824-e31a9896eec2"},"x":{"_name":""},"y":{"_name":"_currentYMoveDirection"},"z":{"_name":""},"$type":"NodeCanvas.Tasks.Actions.DecomposeVector"}]},"_position":{"x":40.44446,"y":196.4959},"$type":"NodeCanvas.StateMachines.OnFSMUpdate"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"_color":{"r":0.4980392,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Airborne
|
||||||
Standby","_position":{"x":1509.989,"y":-548.8954},"$type":"NodeCanvas.StateMachines.SuperActionState"},{"_subTree":{"_value":3},"_position":{"x":1125.669,"y":-308.5995},"$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_subFSM":{"_value":4},"_position":{"x":175.7607,"y":577.6639},"$type":"NodeCanvas.StateMachines.ConcurrentSubFSM"}],"connections":[{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"actionName":{"_value":"Jump"},"actionPhase":{"_value":4},"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"observerLabel":{"_value":"itemdrop"},"outputHitTo":{},"deactivateOnFinish":false,"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"21"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
|
Standby","_position":{"x":1509.989,"y":-548.8954},"$type":"NodeCanvas.StateMachines.SuperActionState"},{"_subTree":{"_value":3},"_position":{"x":1125.669,"y":-308.5995},"$type":"NodeCanvas.StateMachines.ConcurrentSubTree"},{"_subFSM":{"_value":4},"_position":{"x":175.7607,"y":577.6639},"$type":"NodeCanvas.StateMachines.ConcurrentSubFSM"}],"connections":[{"_condition":{"valueA":{"_name":"isGrounded","_targetVariableID":"619300a4-be8b-4ad4-ba2a-978468094ba2"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"conditions":[{"actionName":{"_value":"Jump"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"actionName":{"_value":"Jump"},"actionPhase":{"_value":4},"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"observerLabel":{"_value":"itemdrop"},"outputHitTo":{},"deactivateOnFinish":false,"_invert":true,"$type":"NodeCanvas.Tasks.Conditions.CheckEnvironmentObserver"}],"$type":"NodeCanvas.Framework.ConditionList"},"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"21"},"$type":"NodeCanvas.StateMachines.FSMConnection"},{"_condition":{"eventName":{"_value":"Grapple
|
||||||
Launch"},"saveEventValue":{"_name":"_grappleLaunchDir"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent`1[[UnityEngine.Vector3,
|
Launch"},"saveEventValue":{"_name":"_grappleLaunchDir"},"$type":"NodeCanvas.Tasks.Conditions.CheckEvent`1[[UnityEngine.Vector3,
|
||||||
@@ -282,7 +435,7 @@ MonoBehaviour:
|
|||||||
_version: 3.31
|
_version: 3.31
|
||||||
_category:
|
_category:
|
||||||
_comments:
|
_comments:
|
||||||
_translation: {x: 739, y: 476}
|
_translation: {x: 524, y: 451}
|
||||||
_zoomFactor: 1
|
_zoomFactor: 1
|
||||||
_haltSerialization: 0
|
_haltSerialization: 0
|
||||||
_externalSerializationFile: {fileID: 0}
|
_externalSerializationFile: {fileID: 0}
|
||||||
|
|||||||
@@ -42,118 +42,29 @@ namespace NodeCanvas.Tasks.Actions {
|
|||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
//EndAction can be called from anywhere.
|
//EndAction can be called from anywhere.
|
||||||
protected override void OnExecute(){
|
protected override void OnExecute(){
|
||||||
UpdateOrbitFollowValue(orbitFollowTop, ref CameraSettingsProcessor.values.orbitFollowTopHeight, ref CameraSettingsProcessor.values.orbitFollowTopRadius);
|
OrbitalFollowValueGroup.UpdateValue(orbitFollowTop, ref CameraSettingsProcessor.data.orbitFollowTopHeight.value, ref CameraSettingsProcessor.original.orbitFollowTopRadius.value);
|
||||||
UpdateOrbitFollowValue(orbitFollowCenter, ref CameraSettingsProcessor.values.orbitFollowCenterHeight, ref CameraSettingsProcessor.values.orbitFollowCenterRadius);
|
OrbitalFollowValueGroup.UpdateValue(orbitFollowCenter, ref CameraSettingsProcessor.data.orbitFollowCenterHeight.value, ref CameraSettingsProcessor.original.orbitFollowCenterRadius.value);
|
||||||
UpdateOrbitFollowValue(orbitFollowBottom, ref CameraSettingsProcessor.values.orbitFollowBottomHeight, ref CameraSettingsProcessor.values.orbitFollowBottomRadius);
|
OrbitalFollowValueGroup.UpdateValue(orbitFollowBottom, ref CameraSettingsProcessor.data.orbitFollowBottomHeight.value, ref CameraSettingsProcessor.original.orbitFollowBottomRadius.value);
|
||||||
|
|
||||||
UpdateVector3Value(cameraOffset, ref CameraSettingsProcessor.values.cameraOffsetOffset);
|
Vector3ValueGroup.UpdateValue(cameraOffset, ref CameraSettingsProcessor.data.cameraOffsetOffset.value, ref CameraSettingsProcessor.original.cameraOffsetOffset.value);
|
||||||
|
|
||||||
UpdateVector3Value(orbitPositionDamping, ref CameraSettingsProcessor.values.orbitPositionDamping);
|
Vector3ValueGroup.UpdateValue(orbitPositionDamping, ref CameraSettingsProcessor.data.orbitPositionDamping.value, ref CameraSettingsProcessor.original.cameraOffsetOffset.value);
|
||||||
UpdateVector3Value(orbitTargetOffset, ref CameraSettingsProcessor.values.orbitTargetOffset);
|
Vector3ValueGroup.UpdateValue(orbitTargetOffset, ref CameraSettingsProcessor.data.orbitTargetOffset.value, ref CameraSettingsProcessor.original.cameraOffsetOffset.value);
|
||||||
|
|
||||||
UpdateVector2Value(screenPosition, ref CameraSettingsProcessor.values.rotationComposerScreenPos);
|
Vector2ValueGroup.UpdateValue(screenPosition, ref CameraSettingsProcessor.data.rotationComposerScreenPos.value, ref CameraSettingsProcessor.original.rotationComposerScreenPos.value);
|
||||||
UpdateFloatValue(fieldOfView, ref CameraSettingsProcessor.values.mainFieldOfView);
|
FloatValueGroup.UpdateValue(fieldOfView, ref CameraSettingsProcessor.data.mainFieldOfView.value, ref CameraSettingsProcessor.original.mainFieldOfView.value);
|
||||||
|
|
||||||
UpdateFloatValue(axisLookXGain, ref CameraSettingsProcessor.values.axisLookGainX);
|
FloatValueGroup.UpdateValue(axisLookXGain, ref CameraSettingsProcessor.data.axisLookGainX.value, ref CameraSettingsProcessor.original.axisLookGainX.value);
|
||||||
UpdateFloatValue(axisLookYGain, ref CameraSettingsProcessor.values.axisLookGainY);
|
FloatValueGroup.UpdateValue(axisLookYGain, ref CameraSettingsProcessor.data.axisLookGainY.value, ref CameraSettingsProcessor.original.axisLookGainY.value);
|
||||||
|
|
||||||
UpdateBoolValue(enableXAxis, ref CameraSettingsProcessor.values.axisLookEnabledX);
|
BoolValueGroup.UpdateValue(enableXAxis, ref CameraSettingsProcessor.data.axisLookEnabledX.value, ref CameraSettingsProcessor.original.axisLookEnabledX.value);
|
||||||
UpdateBoolValue(enableYAxis, ref CameraSettingsProcessor.values.axisLookEnabledY);
|
BoolValueGroup.UpdateValue(enableYAxis, ref CameraSettingsProcessor.data.axisLookEnabledY.value, ref CameraSettingsProcessor.original.axisLookEnabledY.value);
|
||||||
|
|
||||||
|
|
||||||
EndAction(true);
|
EndAction(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateVector3Value(Vector3ValueGroup valueGroup, ref CameraSettingSingleValue<Vector3> targetProperty){
|
|
||||||
switch (valueGroup.changeX) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.targetValue.x = valueGroup.newValue.x;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.targetValue.x = targetProperty.originalValue.x;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeY) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.targetValue.y = valueGroup.newValue.y;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.targetValue.y = targetProperty.originalValue.y;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeZ) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.targetValue.z = valueGroup.newValue.z;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.targetValue.z = targetProperty.originalValue.z;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateVector2Value(Vector2ValueGroup valueGroup, ref CameraSettingSingleValue<Vector2> targetProperty){
|
|
||||||
switch (valueGroup.changeX) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.targetValue.x = valueGroup.newValue.x;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.targetValue.x = targetProperty.originalValue.x;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeY) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.targetValue.y = valueGroup.newValue.y;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.targetValue.y = targetProperty.originalValue.y;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateOrbitFollowValue(OrbitalFollowValueGroup valueGroup, ref CameraSettingSingleValue<float> targetHeight, ref CameraSettingSingleValue<float> targetRadius){
|
|
||||||
switch (valueGroup.changeHeight) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetHeight.targetValue = valueGroup.height;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetHeight.targetValue = targetHeight.originalValue;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeRadius) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetRadius.targetValue = valueGroup.radius;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetRadius.targetValue = targetRadius.originalValue;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateBoolValue(BoolValueGroup valueGroup, ref CameraSettingSingleValue<bool> targetProperty){
|
|
||||||
switch (valueGroup.changeValue) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.targetValue = valueGroup.value;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.targetValue = targetProperty.originalValue;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateFloatValue(FloatValueGroup valueGroup, ref CameraSettingSingleValue<float> targetProperty){
|
|
||||||
switch (valueGroup.changeValue) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.targetValue = valueGroup.value.value;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.targetValue = targetProperty.originalValue;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Called once per frame while the action is active.
|
//Called once per frame while the action is active.
|
||||||
protected override void OnUpdate() {
|
protected override void OnUpdate() {
|
||||||
|
|||||||
@@ -2,13 +2,15 @@ using System;
|
|||||||
using NodeCanvas.Framework;
|
using NodeCanvas.Framework;
|
||||||
using ParadoxNotion.Design;
|
using ParadoxNotion.Design;
|
||||||
using Reset.Units;
|
using Reset.Units;
|
||||||
|
using Sirenix.OdinInspector.Editor;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Reset.Core {
|
namespace Reset.Core {
|
||||||
[Category("Reset")]
|
[Category("Reset")]
|
||||||
[Description("Commits movement unit changes to the handler.")]
|
[Description("Commits movement unit changes to the handler.")]
|
||||||
public class ChangeMovementSettings : ActionTask<UnitMovementHandler> {
|
public class ChangeMovementSettings : ActionTask<UnitMovementHandler> {
|
||||||
// Move Speed
|
|
||||||
|
|
||||||
[ParadoxNotion.Design.Header("Speed")]
|
[ParadoxNotion.Design.Header("Speed")]
|
||||||
public FloatValueGroup moveSpeed = new (newLabel: "Move Speed");
|
public FloatValueGroup moveSpeed = new (newLabel: "Move Speed");
|
||||||
public FloatValueGroup moveSpeedSoothing = new (newLabel: "Move Speed Smoothing");
|
public FloatValueGroup moveSpeedSoothing = new (newLabel: "Move Speed Smoothing");
|
||||||
@@ -19,15 +21,7 @@ namespace Reset.Core {
|
|||||||
public FloatValueGroup deaccelerationSmoothing = new (newLabel: "Deacceleration Smoothing");
|
public FloatValueGroup deaccelerationSmoothing = new (newLabel: "Deacceleration Smoothing");
|
||||||
// public CurveValueGroup deaccelerationCurve = new (newLabel: "Deacceleration Curve"); // Currently unused, may return
|
// public CurveValueGroup deaccelerationCurve = new (newLabel: "Deacceleration Curve"); // Currently unused, may return
|
||||||
|
|
||||||
// Direction
|
|
||||||
[Space(5)]
|
|
||||||
public Vector3ValueGroup feedNewDirection = new Vector3ValueGroup("Feed New Direction");
|
|
||||||
public float newDirectionStrength;
|
|
||||||
[Space(5)]
|
|
||||||
public Vector2 addDirectionFromInput;
|
|
||||||
public float addInputStrength;
|
|
||||||
[SliderField(0,1)]
|
|
||||||
public float addInputPriorty;
|
|
||||||
|
|
||||||
// Jumping
|
// Jumping
|
||||||
[ParadoxNotion.Design.Header("Jumping")]
|
[ParadoxNotion.Design.Header("Jumping")]
|
||||||
@@ -63,48 +57,41 @@ namespace Reset.Core {
|
|||||||
//Call EndAction() to mark the action as finished, either in success or failure.
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
//EndAction can be called from anywhere.
|
//EndAction can be called from anywhere.
|
||||||
protected override void OnExecute() {
|
protected override void OnExecute() {
|
||||||
// Direction
|
// // Direction
|
||||||
UpdateFloatValue(airDirectionDecay, ref agent.data.airDirectionDecay, ref agent.data.airDirectionDecay);
|
// FloatValueGroup.UpdateValue(airDirectionDecay, ref agent.data.airDirectionDecay, ref agent.defaultData.airDirectionDecay);
|
||||||
UpdateFloatValue(accelerationSmoothing, ref agent.data.accelerationSmoothing, ref agent.defaultData.accelerationSmoothing);
|
// FloatValueGroup.ChangeSmoothingEasing(airDirectionDecay,
|
||||||
UpdateFloatValue(deaccelerationSmoothing, ref agent.data.deaccelerationSmoothing, ref agent.defaultData.deaccelerationSmoothing);
|
// ref agent.smoothing.airDirectionDecay,
|
||||||
// UpdateCurveProperty(deaccelerationCurve, ref agent.data.deaccelerationCurve, ref agent.defaultData.deaccelerationCurve); // Currently unused, may return
|
// ref agent.easing.airDirectionDecay,
|
||||||
|
// ref agent.defaultSmoothing.airDirectionDecay,
|
||||||
// Direction from value
|
// ref agent.defaultEasing.airDirectionDecay
|
||||||
// Check that feedDir is not changed
|
// );
|
||||||
UpdateVector3Value(feedNewDirection, ref feedDir, ref feedDir);
|
//
|
||||||
|
// UpdateFloatValue(accelerationSmoothing, ref agent.data.accelerationSmoothing, ref agent.defaultData.accelerationSmoothing);
|
||||||
// If there's a direciton add it to the player for a frame
|
// UpdateFloatValue(deaccelerationSmoothing, ref agent.data.deaccelerationSmoothing, ref agent.defaultData.deaccelerationSmoothing);
|
||||||
if (feedDir != Vector3.zero) {
|
// // UpdateCurveProperty(deaccelerationCurve, ref agent.data.deaccelerationCurve, ref agent.defaultData.deaccelerationCurve); // Currently unused, may return
|
||||||
agent.AddToCurrentDirection(agent.transform.rotation * feedDir.normalized, newDirectionStrength);
|
//
|
||||||
// Reset the fed direction after it's added so future runs don't have
|
//
|
||||||
feedDir = Vector3.zero;
|
//
|
||||||
}
|
// // Move Speed
|
||||||
|
// UpdateFloatValue(moveSpeed, ref agent.data.moveSpeed, ref agent.defaultData.moveSpeed);
|
||||||
// Direction from controller input
|
// UpdateFloatValue(moveSpeedSoothing, ref agent.data.moveSpeedSoothing, ref agent.defaultData.moveSpeedSoothing);
|
||||||
if (addDirectionFromInput != Vector2.zero){
|
//
|
||||||
agent.OverwriteDirectionFromInput(new Vector3(addDirectionFromInput.x, addDirectionFromInput.y), addInputPriorty, addInputStrength);
|
// // Jump
|
||||||
}
|
// UpdateFloatValue(jumpPower, ref agent.data.jumpPower, ref agent.defaultData.jumpPower);
|
||||||
|
// UpdateFloatValue(jumpPowerDecay, ref agent.data.jumpPowerDecay, ref agent.defaultData.jumpPowerDecay);
|
||||||
// Move Speed
|
//
|
||||||
UpdateFloatValue(moveSpeed, ref agent.data.moveSpeed, ref agent.defaultData.moveSpeed);
|
// // Gravity
|
||||||
UpdateFloatValue(moveSpeedSoothing, ref agent.data.moveSpeedSoothing, ref agent.defaultData.moveSpeedSoothing);
|
// UpdateFloatValue(gravityPower, ref agent.data.gravityPower, ref agent.defaultData.gravityPower);
|
||||||
|
// UpdateFloatValue(gravityMax, ref agent.data.gravityMax, ref agent.defaultData.gravityMax);
|
||||||
// Jump
|
// UpdateFloatValue(gravityAcceleration, ref agent.data.gravityAcceleration, ref agent.defaultData.gravityAcceleration);
|
||||||
UpdateFloatValue(jumpPower, ref agent.data.jumpPower, ref agent.defaultData.jumpPower);
|
// UpdateFloatValue(gravityScale, ref agent.data.gravityScale, ref agent.defaultData.gravityScale);
|
||||||
UpdateFloatValue(jumpPowerDecay, ref agent.data.jumpPowerDecay, ref agent.defaultData.jumpPowerDecay);
|
// UpdateFloatValue(settingsChangeSmoothing, ref agent.data.settingsChangeSmoothing, ref agent.defaultData.settingsChangeSmoothing);
|
||||||
|
//
|
||||||
// Gravity
|
// // Rotation
|
||||||
UpdateFloatValue(gravityPower, ref agent.data.gravityPower, ref agent.defaultData.gravityPower);
|
// UpdateEnumValue(rotateFacing, ref agent.data.rotateFacing, ref agent.defaultData.rotateFacing);
|
||||||
UpdateFloatValue(gravityMax, ref agent.data.gravityMax, ref agent.defaultData.gravityMax);
|
// UpdateFloatValue(rotationSpeed, ref agent.data.rotationSpeed, ref agent.defaultData.rotationSpeed);
|
||||||
UpdateFloatValue(gravityAcceleration, ref agent.data.gravityAcceleration, ref agent.defaultData.gravityAcceleration);
|
// UpdateFloatValue(rotationSmoothing, ref agent.data.rotationSmoothing, ref agent.defaultData.rotationSmoothing);
|
||||||
UpdateFloatValue(gravityScale, ref agent.data.gravityScale, ref agent.defaultData.gravityScale);
|
// UpdateFloatValue(rotationInputBlending, ref agent.data.rotationInputBlending, ref agent.defaultData.rotationInputBlending);
|
||||||
UpdateFloatValue(settingsChangeSmoothing, ref agent.data.settingsChangeSmoothing, ref agent.defaultData.settingsChangeSmoothing);
|
|
||||||
|
|
||||||
// Rotation
|
|
||||||
UpdateEnumValue(rotateFacing, ref agent.data.rotateFacing, ref agent.defaultData.rotateFacing);
|
|
||||||
UpdateFloatValue(rotationSpeed, ref agent.data.rotationSpeed, ref agent.defaultData.rotationSpeed);
|
|
||||||
UpdateFloatValue(rotationSmoothing, ref agent.data.rotationSmoothing, ref agent.defaultData.rotationSmoothing);
|
|
||||||
UpdateFloatValue(rotationInputBlending, ref agent.data.rotationInputBlending, ref agent.defaultData.rotationInputBlending);
|
|
||||||
|
|
||||||
// Rotation from value
|
// Rotation from value
|
||||||
if (feedNewRotation.value != Vector3.zero) {
|
if (feedNewRotation.value != Vector3.zero) {
|
||||||
@@ -133,103 +120,5 @@ namespace Reset.Core {
|
|||||||
protected override void OnPause() {
|
protected override void OnPause() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateCurveProperty(CurveValueGroup valueGroup, ref AnimationCurve targetProperty, ref AnimationCurve defaultProperty){
|
|
||||||
switch (valueGroup.changeValue) {
|
|
||||||
case ValueChangeAction.NoChange:
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty = valueGroup.newValue;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty = defaultProperty;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new ArgumentOutOfRangeException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateVector3Value(Vector3ValueGroup valueGroup, ref Vector3 targetProperty, ref Vector3 defaultProperty){
|
|
||||||
switch (valueGroup.changeX) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.x = valueGroup.newValue.x;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.x = defaultProperty.x;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeY) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.y = valueGroup.newValue.y;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.y = defaultProperty.y;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeZ) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.z = valueGroup.newValue.z;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.z = defaultProperty.z;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateVector2Value(Vector2ValueGroup valueGroup, ref Vector2 targetProperty, ref Vector2 defaultProperty){
|
|
||||||
switch (valueGroup.changeX) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.x = valueGroup.newValue.x;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.x = defaultProperty.x;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (valueGroup.changeY) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty.y = valueGroup.newValue.y;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty.y = defaultProperty.y;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void UpdateBoolValue(BoolValueGroup valueGroup, ref bool targetProperty, ref bool defaultProperty){
|
|
||||||
switch (valueGroup.changeValue) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty = valueGroup.value;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty = defaultProperty;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateEnumValue(EnumValueGroup valueGroup, ref Enum targetProperty, ref Enum defaultProperty){
|
|
||||||
switch (valueGroup.changeValue) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty = valueGroup.newValue;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty = defaultProperty;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateFloatValue(FloatValueGroup valueGroup, ref float targetProperty, ref float defaultProperty){
|
|
||||||
switch (valueGroup.changeValue) {
|
|
||||||
case ValueChangeAction.NewValue:
|
|
||||||
targetProperty = valueGroup.value.value;
|
|
||||||
break;
|
|
||||||
case ValueChangeAction.ResetValue:
|
|
||||||
targetProperty = defaultProperty;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7879b20d5bcdf974c823d1919491e026
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
using NodeCanvas.Framework;
|
||||||
|
using ParadoxNotion.Design;
|
||||||
|
using Reset.Core;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
namespace Reset.Units {
|
||||||
|
|
||||||
|
[Category("Reset/Movement")]
|
||||||
|
public class ChangeDirectionSettings : ActionTask<UnitMovementHandler> {
|
||||||
|
// Direction
|
||||||
|
[Space(5)]
|
||||||
|
public Vector3ValueGroup feedNewDirection = new Vector3ValueGroup("Feed New Direction");
|
||||||
|
public float newDirectionStrength;
|
||||||
|
[Space(5)]
|
||||||
|
public Vector2 addDirectionFromInput;
|
||||||
|
public float addInputStrength;
|
||||||
|
[SliderField(0,1)]
|
||||||
|
public float addInputPriorty;
|
||||||
|
|
||||||
|
//Use for initialization. This is called only once in the lifetime of the task.
|
||||||
|
//Return null if init was successfull. Return an error string otherwise
|
||||||
|
protected override string OnInit() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//This is called once each time the task is enabled.
|
||||||
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
|
//EndAction can be called from anywhere.
|
||||||
|
protected override void OnExecute() {
|
||||||
|
// Direction from value
|
||||||
|
// Check that feedDir is not changed
|
||||||
|
// UpdateVector3Value(feedNewDirection, ref feedDir, ref feedDir);
|
||||||
|
//
|
||||||
|
// Vector3ValueGroup.ResolvedValue(feedNewDirection, ref feedDir, ref feedDir);
|
||||||
|
//
|
||||||
|
// // If there's a direciton add it to the player for a frame
|
||||||
|
// if (feedDir != Vector3.zero) {
|
||||||
|
// agent.AddToCurrentDirection(agent.transform.rotation * feedDir.normalized, newDirectionStrength);
|
||||||
|
// // Reset the fed direction after it's added so future runs don't have
|
||||||
|
// feedDir = Vector3.zero;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Direction from controller input
|
||||||
|
if (addDirectionFromInput != Vector2.zero){
|
||||||
|
agent.OverwriteDirectionFromInput(new Vector3(addDirectionFromInput.x, addDirectionFromInput.y), addInputPriorty, addInputStrength);
|
||||||
|
}
|
||||||
|
|
||||||
|
EndAction(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called once per frame while the action is active.
|
||||||
|
protected override void OnUpdate() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is disabled.
|
||||||
|
protected override void OnStop() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is paused.
|
||||||
|
protected override void OnPause() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e97f34b81238a9548b0bf4f5b68c8f17
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
using NodeCanvas.Framework;
|
||||||
|
using ParadoxNotion.Design;
|
||||||
|
using Reset.Core;
|
||||||
|
|
||||||
|
|
||||||
|
namespace Reset.Units {
|
||||||
|
|
||||||
|
[Category("Reset/Movement")]
|
||||||
|
public class ChangeGravitySettings : ActionTask<UnitMovementHandler>{
|
||||||
|
public FloatValueGroup jumpPower = new FloatValueGroup("Jump Power");
|
||||||
|
public FloatValueGroup jumpPowerDecay = new FloatValueGroup("Jump Power Decay");
|
||||||
|
|
||||||
|
public FloatValueGroup gravityPower = new FloatValueGroup("Jump Power");
|
||||||
|
public FloatValueGroup gravityMax = new FloatValueGroup("Jump Power");
|
||||||
|
public FloatValueGroup gravityAcceleration = new FloatValueGroup("Jump Power");
|
||||||
|
public FloatValueGroup gravityScale = new FloatValueGroup("Jump Power");
|
||||||
|
|
||||||
|
//Use for initialization. This is called only once in the lifetime of the task.
|
||||||
|
//Return null if init was successfull. Return an error string otherwise
|
||||||
|
protected override string OnInit() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//This is called once each time the task is enabled.
|
||||||
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
|
//EndAction can be called from anywhere.
|
||||||
|
protected override void OnExecute() {
|
||||||
|
// Jump
|
||||||
|
FloatValueGroup.UpdateValue(jumpPower, ref agent.data.jumpPower, ref agent.defaultData.jumpPower);
|
||||||
|
FloatValueGroup.UpdateValue(jumpPowerDecay, ref agent.data.jumpPowerDecay, ref agent.defaultData.jumpPowerDecay);
|
||||||
|
|
||||||
|
// Gravity
|
||||||
|
FloatValueGroup.UpdateValue(gravityPower, ref agent.data.gravityPower, ref agent.defaultData.gravityPower);
|
||||||
|
FloatValueGroup.UpdateValue(gravityMax, ref agent.data.gravityMax, ref agent.defaultData.gravityMax);
|
||||||
|
FloatValueGroup.UpdateValue(gravityAcceleration, ref agent.data.gravityAcceleration, ref agent.defaultData.gravityAcceleration);
|
||||||
|
FloatValueGroup.UpdateValue(gravityScale, ref agent.data.gravityScale, ref agent.defaultData.gravityScale);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called once per frame while the action is active.
|
||||||
|
protected override void OnUpdate() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is disabled.
|
||||||
|
protected override void OnStop() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is paused.
|
||||||
|
protected override void OnPause() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 67c9324e429e09f4da157ab85dadacff
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
using NodeCanvas.Framework;
|
||||||
|
using ParadoxNotion.Design;
|
||||||
|
|
||||||
|
|
||||||
|
namespace Reset.Units {
|
||||||
|
|
||||||
|
[Category("Reset/Movement")]
|
||||||
|
public class ChangeMoveSpeedSettings : ActionTask<UnitMovementHandler> {
|
||||||
|
|
||||||
|
//Use for initialization. This is called only once in the lifetime of the task.
|
||||||
|
//Return null if init was successfull. Return an error string otherwise
|
||||||
|
protected override string OnInit() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//This is called once each time the task is enabled.
|
||||||
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
|
//EndAction can be called from anywhere.
|
||||||
|
protected override void OnExecute() {
|
||||||
|
EndAction(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called once per frame while the action is active.
|
||||||
|
protected override void OnUpdate() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is disabled.
|
||||||
|
protected override void OnStop() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is paused.
|
||||||
|
protected override void OnPause() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c1f858e8bdedb4f46ac3e10c0dccde29
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
using NodeCanvas.Framework;
|
||||||
|
using ParadoxNotion.Design;
|
||||||
|
|
||||||
|
|
||||||
|
namespace Reset.Units {
|
||||||
|
|
||||||
|
[Category("Reset/Movement")]
|
||||||
|
public class ChangeRotationSettings : ActionTask<UnitMovementHandler> {
|
||||||
|
|
||||||
|
//Use for initialization. This is called only once in the lifetime of the task.
|
||||||
|
//Return null if init was successfull. Return an error string otherwise
|
||||||
|
protected override string OnInit() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//This is called once each time the task is enabled.
|
||||||
|
//Call EndAction() to mark the action as finished, either in success or failure.
|
||||||
|
//EndAction can be called from anywhere.
|
||||||
|
protected override void OnExecute() {
|
||||||
|
EndAction(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called once per frame while the action is active.
|
||||||
|
protected override void OnUpdate() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is disabled.
|
||||||
|
protected override void OnStop() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Called when the task is paused.
|
||||||
|
protected override void OnPause() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2af547219746e194f97217fe24cfb8cd
|
||||||
@@ -1,35 +1,40 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
|
||||||
using NodeCanvas.Editor;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
using NodeCanvas.Framework;
|
using NodeCanvas.Framework;
|
||||||
using ParadoxNotion.Design;
|
|
||||||
using UnityEditor;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Reset.Core{
|
namespace Reset.Core{
|
||||||
// Individual bool setting for each ring. Three of these will be used.
|
public abstract class ValueGroup{
|
||||||
public struct OrbitalFollowValueGroup{
|
public interface ISmoothable{
|
||||||
public string label;
|
public BBParameter<ValueChangeAction> changeEasing{ get; set; }
|
||||||
|
public BBParameter<ValueChangeAction> changeSmoothing{ get; set; }
|
||||||
|
|
||||||
public ValueChangeAction changeHeight;
|
public BBParameter<float> smoothing { get; set; }
|
||||||
public float height;
|
public BBParameter<float> easing{ get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public ValueChangeAction changeRadius;
|
public static void ChangeSmoothingEasing(ISmoothable valueGroup, ref float targetSmoothing,
|
||||||
public float radius;
|
ref float targetEasing, ref float defaultSmoothing, ref float defaultEasing){
|
||||||
|
switch (valueGroup.changeSmoothing.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetSmoothing = valueGroup.smoothing.value;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetSmoothing = defaultSmoothing;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
public OrbitalFollowValueGroup(string newLabel){
|
switch (valueGroup.changeEasing.value) {
|
||||||
label = newLabel;
|
case ValueChangeAction.NewValue:
|
||||||
changeHeight = ValueChangeAction.NoChange;
|
targetEasing = valueGroup.easing.value;
|
||||||
height = 0f;
|
break;
|
||||||
changeRadius = ValueChangeAction.NoChange;
|
case ValueChangeAction.ResetValue:
|
||||||
radius = 0f;
|
targetEasing = defaultEasing;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Enum options for individual camera settings
|
// Enum options for individual settings
|
||||||
public enum ValueChangeAction{
|
public enum ValueChangeAction{
|
||||||
NoChange,
|
NoChange,
|
||||||
NewValue,
|
NewValue,
|
||||||
@@ -37,460 +42,270 @@ namespace Reset.Core{
|
|||||||
RelativeValue, // Placeholder for using as altering existing value
|
RelativeValue, // Placeholder for using as altering existing value
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CurveValueGroup{
|
// Individual bool setting for each ring. Three of these will be used.
|
||||||
|
public struct OrbitalFollowValueGroup : ValueGroup.ISmoothable{
|
||||||
public string label;
|
public string label;
|
||||||
public AnimationCurve newValue;
|
|
||||||
|
|
||||||
public ValueChangeAction changeValue;
|
public BBParameter<ValueChangeAction> changeHeight;
|
||||||
|
public BBParameter<float> height;
|
||||||
|
|
||||||
|
public BBParameter<ValueChangeAction> changeRadius;
|
||||||
|
public BBParameter<float> radius;
|
||||||
|
|
||||||
|
public BBParameter<ValueChangeAction> changeEasing{ get; set; }
|
||||||
|
public BBParameter<ValueChangeAction> changeSmoothing{ get; set; }
|
||||||
|
public BBParameter<float> smoothing{ get; set; }
|
||||||
|
public BBParameter<float> easing{ get; set; }
|
||||||
|
|
||||||
|
public OrbitalFollowValueGroup(string newLabel){
|
||||||
|
label = newLabel;
|
||||||
|
|
||||||
|
changeHeight = ValueChangeAction.NoChange;
|
||||||
|
height = 0f;
|
||||||
|
changeRadius = ValueChangeAction.NoChange;
|
||||||
|
radius = 0f;
|
||||||
|
|
||||||
|
changeSmoothing = ValueChangeAction.NoChange;
|
||||||
|
smoothing = .1f;
|
||||||
|
|
||||||
|
changeEasing = ValueChangeAction.NoChange;
|
||||||
|
easing = 1f;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UpdateValue(OrbitalFollowValueGroup valueGroup, ref float targetProperty, ref float defaultProperty){
|
||||||
|
switch (valueGroup.changeHeight.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty = valueGroup.height.value;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty = defaultProperty;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (valueGroup.changeRadius.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty = valueGroup.radius.value;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty = defaultProperty;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public struct CurveValueGroup{ // Done
|
||||||
|
public string label;
|
||||||
|
public BBParameter<AnimationCurve> value;
|
||||||
|
|
||||||
|
public BBParameter<ValueChangeAction> changeValue;
|
||||||
|
|
||||||
public CurveValueGroup(string newLabel){
|
public CurveValueGroup(string newLabel){
|
||||||
changeValue = ValueChangeAction.NoChange;
|
changeValue = ValueChangeAction.NoChange;
|
||||||
|
|
||||||
newValue = new AnimationCurve();
|
value = new AnimationCurve();
|
||||||
label = newLabel;
|
label = newLabel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void UpdateValue(CurveValueGroup valueGroup, ref AnimationCurve targetProperty, ref AnimationCurve defaultProperty){
|
||||||
|
switch (valueGroup.changeValue.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty = valueGroup.value.value;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty = defaultProperty;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct EnumValueGroup{
|
public struct EnumValueGroup{ // Done
|
||||||
public string label;
|
public string label;
|
||||||
public Enum newValue;
|
public BBParameter<Enum> value;
|
||||||
|
|
||||||
public ValueChangeAction changeValue;
|
public BBParameter<ValueChangeAction> changeValue;
|
||||||
|
|
||||||
public EnumValueGroup(string newLabel, Enum enumType){
|
public EnumValueGroup(string newLabel, Enum enumType){
|
||||||
changeValue = ValueChangeAction.NoChange;
|
changeValue = ValueChangeAction.NoChange;
|
||||||
|
|
||||||
newValue = enumType;
|
value = enumType;
|
||||||
label = newLabel;
|
label = newLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UpdateValue(EnumValueGroup valueGroup, ref Enum targetProperty, ref Enum defaultProperty){
|
||||||
|
switch (valueGroup.changeValue.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty = valueGroup.value.value;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty = defaultProperty;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Vector3ValueGroup{
|
public struct Vector3ValueGroup{ // Done
|
||||||
public string label;
|
public string label;
|
||||||
public Vector3 newValue;
|
public BBParameter<Vector3> value;
|
||||||
|
|
||||||
public ValueChangeAction changeX;
|
public BBParameter<ValueChangeAction> changeX;
|
||||||
public ValueChangeAction changeY;
|
public BBParameter<ValueChangeAction> changeY;
|
||||||
public ValueChangeAction changeZ;
|
public BBParameter<ValueChangeAction> changeZ;
|
||||||
|
|
||||||
public Vector3ValueGroup(string newLabel){
|
public Vector3ValueGroup(string newLabel){
|
||||||
changeX = ValueChangeAction.NoChange;
|
changeX = ValueChangeAction.NoChange;
|
||||||
changeY = ValueChangeAction.NoChange;
|
changeY = ValueChangeAction.NoChange;
|
||||||
changeZ = ValueChangeAction.NoChange;
|
changeZ = ValueChangeAction.NoChange;
|
||||||
|
|
||||||
newValue = Vector3.zero;
|
value = new BBParameter<Vector3>{
|
||||||
|
value = Vector3.zero
|
||||||
|
};
|
||||||
|
|
||||||
label = newLabel;
|
label = newLabel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void UpdateValue(Vector3ValueGroup valueGroup, ref Vector3 targetProperty, ref Vector3 defaultProperty){
|
||||||
|
switch (valueGroup.changeX.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty.x = valueGroup.value.value.x;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty.x = defaultProperty.x;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (valueGroup.changeY.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty.y = valueGroup.value.value.y;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty.y = defaultProperty.y;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (valueGroup.changeZ.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty.z = valueGroup.value.value.z;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty.z = defaultProperty.z;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Vector2ValueGroup{
|
public struct Vector2ValueGroup : ValueGroup.ISmoothable{ // Done
|
||||||
public string label;
|
public string label;
|
||||||
public Vector2 newValue;
|
public BBParameter<Vector2> value;
|
||||||
|
|
||||||
public ValueChangeAction changeX;
|
public BBParameter<ValueChangeAction> changeEasing{ get; set; }
|
||||||
public ValueChangeAction changeY;
|
public BBParameter<ValueChangeAction> changeSmoothing{ get; set; }
|
||||||
|
public BBParameter<float> smoothing{ get; set; }
|
||||||
|
public BBParameter<float> easing{ get; set; }
|
||||||
|
|
||||||
|
public BBParameter<ValueChangeAction> changeX;
|
||||||
|
public BBParameter<ValueChangeAction> changeY;
|
||||||
|
|
||||||
public Vector2ValueGroup(string newLabel){
|
public Vector2ValueGroup(string newLabel){
|
||||||
changeX = ValueChangeAction.NoChange;
|
changeX = ValueChangeAction.NoChange;
|
||||||
changeY = ValueChangeAction.NoChange;
|
changeY = ValueChangeAction.NoChange;
|
||||||
|
|
||||||
newValue = Vector2.zero;
|
value = new BBParameter<Vector2>{
|
||||||
|
value = Vector2.zero
|
||||||
|
};
|
||||||
|
|
||||||
label = newLabel;
|
label = newLabel;
|
||||||
|
|
||||||
|
changeEasing = ValueChangeAction.NoChange;
|
||||||
|
changeSmoothing = ValueChangeAction.NoChange;
|
||||||
|
smoothing = 0;
|
||||||
|
easing = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void UpdateValue(Vector2ValueGroup valueGroup, ref Vector2 targetProperty, ref Vector2 defaultProperty){
|
||||||
|
switch (valueGroup.changeX.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty.x = valueGroup.value.value.x;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty.x = defaultProperty.x;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (valueGroup.changeY.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty.y = valueGroup.value.value.y;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty.y = defaultProperty.y;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct FloatValueGroup{
|
|
||||||
|
public class FloatValueGroup : ValueGroup.ISmoothable{ // Done
|
||||||
public string label;
|
public string label;
|
||||||
// public float value;
|
|
||||||
|
public BBParameter<ValueChangeAction> changeValue;
|
||||||
public BBParameter<float> value;
|
public BBParameter<float> value;
|
||||||
|
|
||||||
public ValueChangeAction changeValue;
|
public BBParameter<ValueChangeAction> changeEasing{ get; set; }
|
||||||
|
public BBParameter<ValueChangeAction> changeSmoothing{ get; set; }
|
||||||
|
public BBParameter<float> smoothing { get; set; }
|
||||||
|
public BBParameter<float> easing{ get; set; }
|
||||||
|
|
||||||
public FloatValueGroup(string newLabel){
|
public FloatValueGroup(string newLabel){
|
||||||
label = newLabel;
|
label = newLabel;
|
||||||
value = new BBParameter<float>().value = 0f;
|
value = new BBParameter<float>().value = 0f;
|
||||||
changeValue = ValueChangeAction.NoChange;
|
changeValue = ValueChangeAction.NoChange;
|
||||||
|
|
||||||
|
changeSmoothing = ValueChangeAction.NoChange;
|
||||||
|
smoothing = 0f;
|
||||||
|
|
||||||
|
changeEasing = ValueChangeAction.NoChange;
|
||||||
|
easing = 0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UpdateValue(FloatValueGroup valueGroup, ref float targetProperty, ref float defaultProperty){
|
||||||
|
switch (valueGroup.changeValue.value) {
|
||||||
|
case ValueChangeAction.NewValue:
|
||||||
|
targetProperty = valueGroup.value.value;
|
||||||
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
|
targetProperty = defaultProperty;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct BoolValueGroup{
|
public struct BoolValueGroup{
|
||||||
public string label;
|
public string label;
|
||||||
public bool value;
|
public BBParameter<bool> value;
|
||||||
|
|
||||||
public ValueChangeAction changeValue;
|
public BBParameter<ValueChangeAction> changeValue;
|
||||||
|
|
||||||
public BoolValueGroup(string newLabel){
|
public BoolValueGroup(string newLabel){
|
||||||
label = newLabel;
|
label = newLabel;
|
||||||
value = true;
|
value = true;
|
||||||
changeValue = ValueChangeAction.NoChange;
|
changeValue = ValueChangeAction.NoChange;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
public static void UpdateValue(BoolValueGroup valueGroup, ref bool targetProperty, ref bool defaultProperty){
|
||||||
public class BoolValueGroupDrawer : ObjectDrawer<BoolValueGroup> {
|
switch (valueGroup.changeValue.value) {
|
||||||
public override BoolValueGroup OnGUI(GUIContent _content, BoolValueGroup _instance){
|
case ValueChangeAction.NewValue:
|
||||||
// Remove label for floats
|
targetProperty = valueGroup.value.value;
|
||||||
EditorGUIUtility.labelWidth = 50;
|
break;
|
||||||
|
case ValueChangeAction.ResetValue:
|
||||||
// Set layout options for the label and the float fields
|
targetProperty = defaultProperty;
|
||||||
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
break;
|
||||||
GUILayout.Width(80.0f),
|
|
||||||
GUILayout.MinWidth(20.0f),
|
|
||||||
GUILayout.ExpandWidth(true),
|
|
||||||
};
|
|
||||||
|
|
||||||
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
|
||||||
GUILayout.Width(200.0f),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
|
||||||
GUILayout.BeginVertical();
|
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
|
||||||
GUILayout.BeginHorizontal();
|
|
||||||
|
|
||||||
// Create the x settings enum
|
|
||||||
_instance.changeValue = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeValue);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeValue == ValueChangeAction.NewValue){
|
|
||||||
_instance.value = EditorGUILayout.Toggle(_instance.value, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeValue == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close this line up
|
|
||||||
GUILayout.EndHorizontal();
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
// Reset to default so the rest of things don't get messed up
|
|
||||||
EditorGUIUtility.labelWidth = 0;
|
|
||||||
return _instance;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CurveVlueGroupDrawer : ObjectDrawer<CurveValueGroup> {
|
|
||||||
public override CurveValueGroup OnGUI(GUIContent _content, CurveValueGroup _instance){
|
|
||||||
// Remove label for floats
|
|
||||||
EditorGUIUtility.labelWidth = 50;
|
|
||||||
|
|
||||||
// Set layout options for the label and the float fields
|
|
||||||
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
|
||||||
GUILayout.Width(80.0f),
|
|
||||||
GUILayout.MinWidth(20.0f),
|
|
||||||
GUILayout.ExpandWidth(true),
|
|
||||||
};
|
|
||||||
|
|
||||||
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
|
||||||
GUILayout.Width(200.0f),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
|
||||||
GUILayout.BeginVertical();
|
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
|
||||||
GUILayout.BeginHorizontal();
|
|
||||||
|
|
||||||
// Create the x settings enum
|
|
||||||
_instance.changeValue = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeValue);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeValue == ValueChangeAction.NewValue){
|
|
||||||
_instance.newValue = EditorGUILayout.CurveField(_instance.newValue, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeValue == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close this line up
|
|
||||||
GUILayout.EndHorizontal();
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
// Reset to default so the rest of things don't get messed up
|
|
||||||
EditorGUIUtility.labelWidth = 0;
|
|
||||||
return _instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class EnumValueGroupDrawer : ObjectDrawer<EnumValueGroup>{
|
|
||||||
public override EnumValueGroup OnGUI(GUIContent _content, EnumValueGroup _instance){
|
|
||||||
// Set layout options for the label and the float fields
|
|
||||||
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
|
||||||
GUILayout.Width(200.0f),
|
|
||||||
GUILayout.MinWidth(100.0f),
|
|
||||||
GUILayout.ExpandWidth(true),
|
|
||||||
};
|
|
||||||
|
|
||||||
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
|
||||||
GUILayout.Width(200.0f),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
|
||||||
GUILayout.BeginVertical();
|
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
|
||||||
GUILayout.BeginHorizontal();
|
|
||||||
|
|
||||||
// Create the x settings enum
|
|
||||||
_instance.changeValue = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeValue);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeValue == ValueChangeAction.NewValue){
|
|
||||||
_instance.newValue = EditorGUILayout.EnumPopup("", instance.newValue, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeValue == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close this line up
|
|
||||||
GUILayout.EndHorizontal();
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
// Reset to default so the rest of things don't get messed up
|
|
||||||
EditorGUIUtility.labelWidth = 0;
|
|
||||||
return _instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class FloatValueGroupDrawer : ObjectDrawer<FloatValueGroup> {
|
|
||||||
public override FloatValueGroup OnGUI(GUIContent _content, FloatValueGroup _instance){
|
|
||||||
// Remove label for floats
|
|
||||||
EditorGUIUtility.labelWidth = 50;
|
|
||||||
|
|
||||||
// Set layout options for the label and the float fields
|
|
||||||
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
|
||||||
GUILayout.Width(80.0f),
|
|
||||||
GUILayout.MinWidth(20.0f),
|
|
||||||
GUILayout.ExpandWidth(true),
|
|
||||||
};
|
|
||||||
|
|
||||||
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
|
||||||
GUILayout.Width(200.0f),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
|
||||||
GUILayout.BeginVertical();
|
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
|
||||||
GUILayout.BeginHorizontal();
|
|
||||||
|
|
||||||
// Create the x settings enum
|
|
||||||
_instance.changeValue = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeValue);
|
|
||||||
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeValue == ValueChangeAction.NewValue){
|
|
||||||
// _instance.value = EditorGUILayout.FloatField(_instance.value, floatOptions);
|
|
||||||
BBParameterEditor.ParameterField("", _instance.value);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeValue == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close this line up
|
|
||||||
GUILayout.EndHorizontal();
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
// Reset to default so the rest of things don't get messed up
|
|
||||||
EditorGUIUtility.labelWidth = 0;
|
|
||||||
return _instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class Vector3ValueGroupDrawer : ObjectDrawer<Vector3ValueGroup> {
|
|
||||||
public override Vector3ValueGroup OnGUI(GUIContent _content, Vector3ValueGroup _instance){
|
|
||||||
// Remove label for floats
|
|
||||||
EditorGUIUtility.labelWidth = 20;
|
|
||||||
|
|
||||||
// Set layout options for the label and the float fields
|
|
||||||
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
|
||||||
GUILayout.Width(300.0f),
|
|
||||||
GUILayout.MinWidth(20.0f),
|
|
||||||
GUILayout.ExpandWidth(true),
|
|
||||||
};
|
|
||||||
|
|
||||||
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
|
||||||
GUILayout.Width(200.0f),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
|
||||||
GUILayout.BeginVertical();
|
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
|
||||||
GUILayout.BeginHorizontal();
|
|
||||||
|
|
||||||
// Create the x settings enum
|
|
||||||
_instance.changeX = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeX);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeX == ValueChangeAction.NewValue){
|
|
||||||
_instance.newValue.x = EditorGUILayout.FloatField(_instance.newValue.x, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeX == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// It do what it do.
|
|
||||||
GUILayout.Space(5);
|
|
||||||
|
|
||||||
// Create the y settings enum
|
|
||||||
_instance.changeY = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeY);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeY == ValueChangeAction.NewValue){
|
|
||||||
_instance.newValue.y = EditorGUILayout.FloatField(_instance.newValue.y, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeY == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// It do what it do.
|
|
||||||
GUILayout.Space(5);
|
|
||||||
|
|
||||||
// Create the y settings enum
|
|
||||||
_instance.changeZ = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeZ);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeZ == ValueChangeAction.NewValue){
|
|
||||||
_instance.newValue.z = EditorGUILayout.FloatField(_instance.newValue.z, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeZ == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close this line up
|
|
||||||
GUILayout.EndHorizontal();
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
// Reset to default so the rest of things don't get messed up
|
|
||||||
EditorGUIUtility.labelWidth = 0;
|
|
||||||
return _instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class Vector2ValueGroupDrawer : ObjectDrawer<Vector2ValueGroup> {
|
|
||||||
public override Vector2ValueGroup OnGUI(GUIContent _content, Vector2ValueGroup _instance){
|
|
||||||
// Remove label for floats
|
|
||||||
EditorGUIUtility.labelWidth = 50;
|
|
||||||
|
|
||||||
// Set layout options for the label and the float fields
|
|
||||||
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
|
||||||
GUILayout.Width(300.0f),
|
|
||||||
GUILayout.MinWidth(20.0f),
|
|
||||||
GUILayout.ExpandWidth(true),
|
|
||||||
};
|
|
||||||
|
|
||||||
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
|
||||||
GUILayout.Width(200.0f),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
|
||||||
GUILayout.BeginVertical();
|
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
|
||||||
GUILayout.BeginHorizontal();
|
|
||||||
|
|
||||||
// Create the x settings enum
|
|
||||||
_instance.changeX = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeX);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeX == ValueChangeAction.NewValue){
|
|
||||||
_instance.newValue.x = EditorGUILayout.FloatField(_instance.newValue.x, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeX == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// It do what it do.
|
|
||||||
GUILayout.Space(5);
|
|
||||||
|
|
||||||
// Create the y settings enum
|
|
||||||
_instance.changeY = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeY);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeY == ValueChangeAction.NewValue){
|
|
||||||
_instance.newValue.y = EditorGUILayout.FloatField(_instance.newValue.y, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeY == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close this line up
|
|
||||||
GUILayout.EndHorizontal();
|
|
||||||
GUILayout.EndVertical();
|
|
||||||
|
|
||||||
// Reset to default so the rest of things don't get messed up
|
|
||||||
EditorGUIUtility.labelWidth = 0;
|
|
||||||
return _instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Custom editor for each orbital follow ring setting
|
|
||||||
public class OrbitalFollowValueGroupDrawer : ObjectDrawer<OrbitalFollowValueGroup>{
|
|
||||||
public override OrbitalFollowValueGroup OnGUI(GUIContent _content, OrbitalFollowValueGroup _instance){
|
|
||||||
// Remove label for floats
|
|
||||||
EditorGUIUtility.labelWidth = 1;
|
|
||||||
|
|
||||||
// Set layout options for the label and the float fields
|
|
||||||
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
|
||||||
GUILayout.Width(300.0f),
|
|
||||||
GUILayout.MinWidth(20.0f),
|
|
||||||
GUILayout.ExpandWidth(true),
|
|
||||||
};
|
|
||||||
|
|
||||||
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
|
||||||
GUILayout.Width(60.0f),
|
|
||||||
};
|
|
||||||
|
|
||||||
// Start a Horiztonal Section
|
|
||||||
GUILayout.BeginHorizontal();
|
|
||||||
|
|
||||||
// Add the left side label
|
|
||||||
GUILayout.Label(_instance.label, labelOptions);
|
|
||||||
|
|
||||||
// Create the height settings enum
|
|
||||||
_instance.changeHeight = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeHeight);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeHeight == ValueChangeAction.NewValue){
|
|
||||||
_instance.height = EditorGUILayout.FloatField(_instance.height, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeHeight == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// It do what it do.
|
|
||||||
GUILayout.Space(5);
|
|
||||||
|
|
||||||
// Create the radius settings enum
|
|
||||||
_instance.changeRadius = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeRadius);
|
|
||||||
|
|
||||||
// Create the value/disabled information field
|
|
||||||
if (_instance.changeRadius == ValueChangeAction.NewValue){
|
|
||||||
_instance.radius = EditorGUILayout.FloatField(_instance.radius, floatOptions);
|
|
||||||
} else {
|
|
||||||
EditorGUI.BeginDisabledGroup(true);
|
|
||||||
EditorGUILayout.TextField(_instance.changeRadius == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
|
||||||
EditorGUI.EndDisabledGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close this line up
|
|
||||||
GUILayout.EndHorizontal();
|
|
||||||
|
|
||||||
// Reset to default so the rest of things don't get messed up
|
|
||||||
EditorGUIUtility.labelWidth = 0;
|
|
||||||
return _instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
454
Assets/Scripts/Core/ValueGroupEditors.cs
Normal file
454
Assets/Scripts/Core/ValueGroupEditors.cs
Normal file
@@ -0,0 +1,454 @@
|
|||||||
|
using NodeCanvas.Editor;
|
||||||
|
using ParadoxNotion.Design;
|
||||||
|
using Reset.Core;
|
||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
public class BoolValueGroupDrawer : ObjectDrawer<BoolValueGroup> {
|
||||||
|
public override BoolValueGroup OnGUI(GUIContent _content, BoolValueGroup _instance){
|
||||||
|
// Remove label for floats
|
||||||
|
EditorGUIUtility.labelWidth = 50;
|
||||||
|
|
||||||
|
// Set layout options for the label and the float fields
|
||||||
|
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
||||||
|
GUILayout.Width(80.0f),
|
||||||
|
GUILayout.MinWidth(20.0f),
|
||||||
|
GUILayout.ExpandWidth(true),
|
||||||
|
};
|
||||||
|
|
||||||
|
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
||||||
|
GUILayout.Width(200.0f),
|
||||||
|
};
|
||||||
|
|
||||||
|
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
||||||
|
GUILayout.BeginVertical();
|
||||||
|
GUILayout.Label(_instance.label, labelOptions);
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
// Create the x settings enum
|
||||||
|
_instance.changeValue = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeValue.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeValue.value == ValueChangeAction.NewValue){
|
||||||
|
_instance.value = EditorGUILayout.Toggle(_instance.value.value, floatOptions);
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeValue.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close this line up
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
|
// Reset to default so the rest of things don't get messed up
|
||||||
|
EditorGUIUtility.labelWidth = 0;
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class CurveValueGroupDrawer : ObjectDrawer<CurveValueGroup> {
|
||||||
|
public override CurveValueGroup OnGUI(GUIContent _content, CurveValueGroup _instance){
|
||||||
|
// Remove label for floats
|
||||||
|
EditorGUIUtility.labelWidth = 50;
|
||||||
|
|
||||||
|
// Set layout options for the label and the float fields
|
||||||
|
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
||||||
|
GUILayout.Width(80.0f),
|
||||||
|
GUILayout.MinWidth(20.0f),
|
||||||
|
GUILayout.ExpandWidth(true),
|
||||||
|
};
|
||||||
|
|
||||||
|
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
||||||
|
GUILayout.Width(200.0f),
|
||||||
|
};
|
||||||
|
|
||||||
|
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
||||||
|
GUILayout.BeginVertical();
|
||||||
|
GUILayout.Label(_instance.label, labelOptions);
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
// Create the x settings enum
|
||||||
|
_instance.changeValue.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeValue.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeValue.value == ValueChangeAction.NewValue){
|
||||||
|
BBParameterEditor.ParameterField("", _instance.value);
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeValue.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close this line up
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
|
// Reset to default so the rest of things don't get messed up
|
||||||
|
EditorGUIUtility.labelWidth = 0;
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class EnumValueGroupDrawer : ObjectDrawer<EnumValueGroup>{
|
||||||
|
public override EnumValueGroup OnGUI(GUIContent _content, EnumValueGroup _instance){
|
||||||
|
// Set layout options for the label and the float fields
|
||||||
|
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
||||||
|
GUILayout.Width(200.0f),
|
||||||
|
GUILayout.MinWidth(100.0f),
|
||||||
|
GUILayout.ExpandWidth(true),
|
||||||
|
};
|
||||||
|
|
||||||
|
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
||||||
|
GUILayout.Width(200.0f),
|
||||||
|
};
|
||||||
|
|
||||||
|
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
||||||
|
GUILayout.BeginVertical();
|
||||||
|
GUILayout.Label(_instance.label, labelOptions);
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
// Create the x settings enum
|
||||||
|
_instance.changeValue.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeValue.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeValue.value == ValueChangeAction.NewValue){
|
||||||
|
_instance.value.value = EditorGUILayout.EnumPopup("", instance.value.value, floatOptions);
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField((ValueChangeAction)_instance.value.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close this line up
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
|
// Reset to default so the rest of things don't get messed up
|
||||||
|
EditorGUIUtility.labelWidth = 0;
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public class FloatValueGroupDrawer : ObjectDrawer<FloatValueGroup> {
|
||||||
|
public override FloatValueGroup OnGUI(GUIContent _content, FloatValueGroup _instance){
|
||||||
|
// Remove label for floats
|
||||||
|
EditorGUIUtility.labelWidth = 50;
|
||||||
|
|
||||||
|
// Start the label
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
// Set layout options for the label and the float fields
|
||||||
|
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
||||||
|
GUILayout.Width(80.0f),
|
||||||
|
GUILayout.MinWidth(20.0f),
|
||||||
|
GUILayout.ExpandWidth(true),
|
||||||
|
};
|
||||||
|
|
||||||
|
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
||||||
|
GUILayout.Width(200.0f),
|
||||||
|
};
|
||||||
|
|
||||||
|
GUIStyle titleText = new GUIStyle{
|
||||||
|
fontSize = 12,
|
||||||
|
fontStyle = FontStyle.Bold,
|
||||||
|
padding = new RectOffset(8, 0, 3,0),
|
||||||
|
normal ={
|
||||||
|
textColor = Color.white
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
||||||
|
GUILayout.Label(_instance.label, titleText);
|
||||||
|
|
||||||
|
// End the label
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
// Start the variables
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
// Create the x settings enum
|
||||||
|
// _instance.changeValue.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeValue.value);
|
||||||
|
BBParameterEditor.ParameterField("", _instance.changeValue);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeValue.value == ValueChangeAction.NewValue){
|
||||||
|
// _instance.value = EditorGUILayout.FloatField(_instance.value, floatOptions);
|
||||||
|
BBParameterEditor.ParameterField("", _instance.value);
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeValue.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close this line up with the variables
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
// Start the smoothing and easing section
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
GUIStyle smallText= new GUIStyle{
|
||||||
|
fontSize = 10,
|
||||||
|
padding = new RectOffset(8, 0, 0,0),
|
||||||
|
normal ={
|
||||||
|
textColor = Color.gray
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Start the left side for easing
|
||||||
|
GUILayout.BeginVertical();
|
||||||
|
|
||||||
|
// Draw the label
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
GUILayout.Label("Easing", smallText);
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
// Easing
|
||||||
|
_instance.changeEasing.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeEasing.value);
|
||||||
|
if (_instance.changeEasing.value == ValueChangeAction.NewValue){
|
||||||
|
// _instance.value = EditorGUILayout.FloatField(_instance.value, floatOptions);
|
||||||
|
BBParameterEditor.ParameterField("", _instance.easing);
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeEasing.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close easing
|
||||||
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
|
// Start the right for smoothing
|
||||||
|
GUILayout.BeginVertical();
|
||||||
|
|
||||||
|
// Draw the label
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
GUILayout.Label("Smoothing", smallText);
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
// Easing
|
||||||
|
_instance.changeSmoothing.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeSmoothing.value);
|
||||||
|
if (_instance.changeSmoothing.value == ValueChangeAction.NewValue){
|
||||||
|
// _instance.value = EditorGUILayout.FloatField(_instance.value, floatOptions);
|
||||||
|
BBParameterEditor.ParameterField("", _instance.smoothing);
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeSmoothing.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close easing
|
||||||
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
|
GUILayout.Space(8);
|
||||||
|
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
// Reset to default so the rest of things don't get messed up
|
||||||
|
EditorGUIUtility.labelWidth = 0;
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Vector3ValueGroupDrawer : ObjectDrawer<Vector3ValueGroup> {
|
||||||
|
public override Vector3ValueGroup OnGUI(GUIContent _content, Vector3ValueGroup _instance){
|
||||||
|
// Remove label for floats
|
||||||
|
EditorGUIUtility.labelWidth = 20;
|
||||||
|
|
||||||
|
// Set layout options for the label and the float fields
|
||||||
|
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
||||||
|
GUILayout.Width(300.0f),
|
||||||
|
GUILayout.MinWidth(20.0f),
|
||||||
|
GUILayout.ExpandWidth(true),
|
||||||
|
};
|
||||||
|
|
||||||
|
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
||||||
|
GUILayout.Width(200.0f),
|
||||||
|
};
|
||||||
|
|
||||||
|
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
||||||
|
GUILayout.BeginVertical();
|
||||||
|
GUILayout.Label(_instance.label, labelOptions);
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
// Create the x settings enum
|
||||||
|
_instance.changeX.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeX.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeX.value== ValueChangeAction.NewValue) {
|
||||||
|
var value = _instance.value.value;
|
||||||
|
value.x = EditorGUILayout.FloatField(_instance.value.value.x, floatOptions);
|
||||||
|
_instance.value.value = value;
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeX.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// It do what it do.
|
||||||
|
GUILayout.Space(5);
|
||||||
|
|
||||||
|
// Create the y settings enum
|
||||||
|
_instance.changeY.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeY.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeY.value == ValueChangeAction.NewValue) {
|
||||||
|
var value = _instance.value.value;
|
||||||
|
value.y = EditorGUILayout.FloatField(_instance.value.value.y, floatOptions);
|
||||||
|
_instance.value.value = value;
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeY.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// It do what it do.
|
||||||
|
GUILayout.Space(5);
|
||||||
|
|
||||||
|
// Create the y settings enum
|
||||||
|
_instance.changeZ.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeZ.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeZ.value == ValueChangeAction.NewValue) {
|
||||||
|
var value = _instance.value.value;
|
||||||
|
value.z = EditorGUILayout.FloatField(_instance.value.value.z, floatOptions);
|
||||||
|
_instance.value.value = value;
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeZ.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close this line up
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
|
// Reset to default so the rest of things don't get messed up
|
||||||
|
EditorGUIUtility.labelWidth = 0;
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Vector2ValueGroupDrawer : ObjectDrawer<Vector2ValueGroup> {
|
||||||
|
public override Vector2ValueGroup OnGUI(GUIContent _content, Vector2ValueGroup _instance){
|
||||||
|
// Remove label for floats
|
||||||
|
EditorGUIUtility.labelWidth = 50;
|
||||||
|
|
||||||
|
// Set layout options for the label and the float fields
|
||||||
|
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
||||||
|
GUILayout.Width(300.0f),
|
||||||
|
GUILayout.MinWidth(20.0f),
|
||||||
|
GUILayout.ExpandWidth(true),
|
||||||
|
};
|
||||||
|
|
||||||
|
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
||||||
|
GUILayout.Width(200.0f),
|
||||||
|
};
|
||||||
|
|
||||||
|
// Start the Vertical layout then add the label before adding a horizontal so the label will be on top of side-by-side options
|
||||||
|
GUILayout.BeginVertical();
|
||||||
|
GUILayout.Label(_instance.label, labelOptions);
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
// Create the x settings enum
|
||||||
|
_instance.changeX.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", instance.changeX.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeX.value == ValueChangeAction.NewValue) {
|
||||||
|
var value = _instance.value.value;
|
||||||
|
value.x = EditorGUILayout.FloatField(_instance.value.value.x, floatOptions);
|
||||||
|
_instance.value.value = value;
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeX.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// It do what it do.
|
||||||
|
GUILayout.Space(5);
|
||||||
|
|
||||||
|
// Create the y settings enum
|
||||||
|
_instance.changeY.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeY.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeY.value == ValueChangeAction.NewValue) {
|
||||||
|
var value = _instance.value.value;
|
||||||
|
value.y = EditorGUILayout.FloatField(_instance.value.value.y, floatOptions);
|
||||||
|
_instance.value.value = value;
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeY.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close this line up
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
GUILayout.EndVertical();
|
||||||
|
|
||||||
|
// Reset to default so the rest of things don't get messed up
|
||||||
|
EditorGUIUtility.labelWidth = 0;
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Custom editor for each orbital follow ring setting
|
||||||
|
public class OrbitalFollowValueGroupDrawer : ObjectDrawer<OrbitalFollowValueGroup>{
|
||||||
|
public override OrbitalFollowValueGroup OnGUI(GUIContent _content, OrbitalFollowValueGroup _instance){
|
||||||
|
// Remove label for floats
|
||||||
|
EditorGUIUtility.labelWidth = 1;
|
||||||
|
|
||||||
|
// Set layout options for the label and the float fields
|
||||||
|
GUILayoutOption[] floatOptions = new GUILayoutOption[] {
|
||||||
|
GUILayout.Width(300.0f),
|
||||||
|
GUILayout.MinWidth(20.0f),
|
||||||
|
GUILayout.ExpandWidth(true),
|
||||||
|
};
|
||||||
|
|
||||||
|
GUILayoutOption[] labelOptions = new GUILayoutOption[]{
|
||||||
|
GUILayout.Width(60.0f),
|
||||||
|
};
|
||||||
|
|
||||||
|
// Start a Horiztonal Section
|
||||||
|
GUILayout.BeginHorizontal();
|
||||||
|
|
||||||
|
// Add the left side label
|
||||||
|
GUILayout.Label(_instance.label, labelOptions);
|
||||||
|
|
||||||
|
// Create the height settings enum
|
||||||
|
_instance.changeHeight.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeHeight.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeHeight.value == ValueChangeAction.NewValue){
|
||||||
|
_instance.height.value = EditorGUILayout.FloatField(_instance.height.value, floatOptions);
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeHeight.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// It do what it do.
|
||||||
|
GUILayout.Space(5);
|
||||||
|
|
||||||
|
// Create the radius settings enum
|
||||||
|
_instance.changeRadius.value = (ValueChangeAction)EditorGUILayout.EnumPopup("", _instance.changeRadius.value);
|
||||||
|
|
||||||
|
// Create the value/disabled information field
|
||||||
|
if (_instance.changeRadius.value == ValueChangeAction.NewValue){
|
||||||
|
_instance.radius = EditorGUILayout.FloatField(_instance.radius.value, floatOptions);
|
||||||
|
} else {
|
||||||
|
EditorGUI.BeginDisabledGroup(true);
|
||||||
|
EditorGUILayout.TextField(_instance.changeRadius.value == ValueChangeAction.NoChange ? "Unchanged" : "Reset", floatOptions);
|
||||||
|
EditorGUI.EndDisabledGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close this line up
|
||||||
|
GUILayout.EndHorizontal();
|
||||||
|
|
||||||
|
// Reset to default so the rest of things don't get messed up
|
||||||
|
EditorGUIUtility.labelWidth = 0;
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
3
Assets/Scripts/Core/ValueGroupEditors.cs.meta
Normal file
3
Assets/Scripts/Core/ValueGroupEditors.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e327ef0e278a437486396775f36450dd
|
||||||
|
timeCreated: 1758039991
|
||||||
@@ -1,82 +1,68 @@
|
|||||||
|
using System;
|
||||||
|
using Reset.Core;
|
||||||
|
using Sirenix.OdinInspector;
|
||||||
using Unity.Cinemachine;
|
using Unity.Cinemachine;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public struct CameraSettingSingleValue<T>{
|
public struct SettingValue<T>{
|
||||||
// NOTE: Could add a locked variable here if needed??
|
public T value;
|
||||||
public T originalValue;
|
public float smoothing; // Smoothing changes how fast value is changed.
|
||||||
public T targetValue;
|
public float easing; // Easing changes how fast smoothing is changed, when given a new value.
|
||||||
public float smoothing;
|
|
||||||
|
|
||||||
public float velocityRef;
|
public float currentSmoothing; // Actively eased and accessed value
|
||||||
public Vector2 velocityRefV2;
|
public float currentValue; // Actively smoothed and accessed value
|
||||||
public Vector3 velocityRefV3;
|
|
||||||
|
|
||||||
public CameraSettingSingleValue(float defaultSmoothing = .2f, T original = default(T)){
|
public T refVel; // For use with SmoothDamp
|
||||||
originalValue = original;
|
|
||||||
targetValue = original;
|
public SettingValue(float defaultEasing = 2f, float defaultSmoothing = 1f){
|
||||||
|
easing = defaultEasing;
|
||||||
|
value = default;
|
||||||
smoothing = defaultSmoothing;
|
smoothing = defaultSmoothing;
|
||||||
|
currentSmoothing = 0;
|
||||||
velocityRef = 0;
|
currentValue = 0;
|
||||||
velocityRefV2 = default;
|
refVel = default;
|
||||||
velocityRefV3 = default;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Reset(){
|
|
||||||
targetValue = originalValue;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CameraSettingValues{
|
public struct CameraSettingData : ICloneable{
|
||||||
public CameraSettingSingleValue<float> mainFieldOfView;
|
public SettingValue<float> mainFieldOfView;
|
||||||
|
|
||||||
public CameraSettingSingleValue<Vector3> orbitPositionDamping;
|
public SettingValue<Vector3> orbitPositionDamping;
|
||||||
public CameraSettingSingleValue<Vector3> orbitTargetOffset;
|
public SettingValue<Vector3> orbitTargetOffset;
|
||||||
|
|
||||||
public CameraSettingSingleValue<bool> axisLookEnabledX;
|
public SettingValue<bool> axisLookEnabledX;
|
||||||
public CameraSettingSingleValue<bool> axisLookEnabledY;
|
public SettingValue<bool> axisLookEnabledY;
|
||||||
|
|
||||||
public CameraSettingSingleValue<float> axisLookGainX;
|
public SettingValue<float> axisLookGainX;
|
||||||
public CameraSettingSingleValue<float> axisLookGainY;
|
public SettingValue<float> axisLookGainY;
|
||||||
|
|
||||||
public CameraSettingSingleValue<float> orbitFollowTopHeight;
|
public SettingValue<float> orbitFollowTopHeight;
|
||||||
public CameraSettingSingleValue<float> orbitFollowTopRadius;
|
public SettingValue<float> orbitFollowTopRadius;
|
||||||
public CameraSettingSingleValue<float> orbitFollowCenterHeight;
|
public SettingValue<float> orbitFollowCenterHeight;
|
||||||
public CameraSettingSingleValue<float> orbitFollowCenterRadius;
|
public SettingValue<float> orbitFollowCenterRadius;
|
||||||
public CameraSettingSingleValue<float> orbitFollowBottomHeight;
|
public SettingValue<float> orbitFollowBottomHeight;
|
||||||
public CameraSettingSingleValue<float> orbitFollowBottomRadius;
|
public SettingValue<float> orbitFollowBottomRadius;
|
||||||
|
|
||||||
public CameraSettingSingleValue<Vector2> rotationComposerScreenPos;
|
public SettingValue<Vector2> rotationComposerScreenPos;
|
||||||
|
|
||||||
public CameraSettingSingleValue<Vector3> cameraOffsetOffset;
|
public SettingValue<Vector3> cameraOffsetOffset;
|
||||||
|
|
||||||
public CameraSettingValues(float defaultSmoothing){
|
public object Clone(){
|
||||||
mainFieldOfView = new CameraSettingSingleValue<float>(defaultSmoothing);
|
return MemberwiseClone();
|
||||||
|
|
||||||
orbitPositionDamping = new CameraSettingSingleValue<Vector3>(defaultSmoothing);
|
|
||||||
orbitTargetOffset = new CameraSettingSingleValue<Vector3>(defaultSmoothing);
|
|
||||||
|
|
||||||
axisLookEnabledX = new CameraSettingSingleValue<bool>();
|
|
||||||
axisLookEnabledY = new CameraSettingSingleValue<bool>();
|
|
||||||
|
|
||||||
axisLookGainX = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
axisLookGainY = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
|
|
||||||
orbitFollowTopHeight = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
orbitFollowTopRadius = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
orbitFollowCenterHeight = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
orbitFollowCenterRadius = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
orbitFollowBottomHeight = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
orbitFollowBottomRadius = new CameraSettingSingleValue<float>(defaultSmoothing);
|
|
||||||
|
|
||||||
rotationComposerScreenPos = new CameraSettingSingleValue<Vector2>(defaultSmoothing);
|
|
||||||
cameraOffsetOffset = new CameraSettingSingleValue<Vector3>(defaultSmoothing);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CameraSettingsProcessor : MonoBehaviour{
|
public class CameraSettingsProcessor : MonoBehaviour{
|
||||||
public static CameraSettingsProcessor Instance{ get; private set; }
|
public static CameraSettingsProcessor Instance{ get; private set; }
|
||||||
|
|
||||||
public static CameraSettingValues values = new(defaultSmoothing: .2f);
|
[HideInInspector] public static CameraSettingData data;
|
||||||
|
[HideInInspector] public static CameraSettingData original;
|
||||||
|
[ShowInInspector] public static CameraSettingData smoothing;
|
||||||
|
[ShowInInspector] public static CameraSettingData easing;
|
||||||
|
|
||||||
|
|
||||||
|
[HideInInspector] public static CameraSettingData currentSmoothing;
|
||||||
|
[HideInInspector] public static CameraSettingData currentValue;
|
||||||
|
|
||||||
public static GameObject mainCamera;
|
public static GameObject mainCamera;
|
||||||
|
|
||||||
@@ -102,87 +88,112 @@ public class CameraSettingsProcessor : MonoBehaviour{
|
|||||||
offset = mainCamera.GetComponent<CinemachineCameraOffset>();
|
offset = mainCamera.GetComponent<CinemachineCameraOffset>();
|
||||||
axisCont = mainCamera.GetComponent<CinemachineInputAxisController>();
|
axisCont = mainCamera.GetComponent<CinemachineInputAxisController>();
|
||||||
|
|
||||||
// Initialize camera settings values
|
// Initialize camera settings values from current values
|
||||||
values = new CameraSettingValues{
|
data.mainFieldOfView.value = main.Lens.FieldOfView;
|
||||||
cameraOffsetOffset = new CameraSettingSingleValue<Vector3>(defaultSmoothing: .2f, offset.Offset),
|
|
||||||
mainFieldOfView = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, main.Lens.FieldOfView),
|
data.orbitPositionDamping.value = orbit.TrackerSettings.PositionDamping;
|
||||||
axisLookEnabledX = new CameraSettingSingleValue<bool>(0, axisCont.Controllers[0].Enabled),
|
data.orbitTargetOffset.value = orbit.TargetOffset;
|
||||||
axisLookEnabledY = new CameraSettingSingleValue<bool>(0, axisCont.Controllers[1].Enabled),
|
|
||||||
axisLookGainX = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, axisCont.Controllers[0].Input.Gain),
|
data.axisLookEnabledX.value = axisCont.Controllers[0].Enabled;
|
||||||
axisLookGainY = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, axisCont.Controllers[1].Input.Gain),
|
data.axisLookEnabledY.value = axisCont.Controllers[1].Enabled;
|
||||||
orbitPositionDamping = new CameraSettingSingleValue<Vector3>(defaultSmoothing: .2f, orbit.TrackerSettings.PositionDamping),
|
|
||||||
orbitTargetOffset = new CameraSettingSingleValue<Vector3>(defaultSmoothing: .1f, orbit.TargetOffset),
|
data.axisLookGainX.value = axisCont.Controllers[0].Input.Gain;
|
||||||
orbitFollowTopHeight = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Top.Height),
|
data.axisLookGainY.value = axisCont.Controllers[1].Input.Gain;
|
||||||
orbitFollowTopRadius = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Top.Radius),
|
|
||||||
orbitFollowCenterHeight = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Center.Height),
|
data.orbitFollowTopHeight.value = orbit.Orbits.Top.Height;
|
||||||
orbitFollowCenterRadius = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Center.Radius),
|
data.orbitFollowTopRadius.value = orbit.Orbits.Top.Radius;
|
||||||
orbitFollowBottomHeight = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Bottom.Height),
|
data.orbitFollowCenterHeight.value = orbit.Orbits.Center.Height;
|
||||||
orbitFollowBottomRadius = new CameraSettingSingleValue<float>(defaultSmoothing: .2f, orbit.Orbits.Bottom.Radius),
|
data.orbitFollowCenterRadius.value = orbit.Orbits.Center.Radius;
|
||||||
rotationComposerScreenPos = new CameraSettingSingleValue<Vector2>(defaultSmoothing: .2f, rotComp.Composition.ScreenPosition),
|
data.orbitFollowBottomHeight.value = orbit.Orbits.Bottom.Height;
|
||||||
};
|
data.orbitFollowBottomRadius.value = orbit.Orbits.Bottom.Radius;
|
||||||
|
|
||||||
|
data.rotationComposerScreenPos.value = rotComp.Composition.ScreenPosition;
|
||||||
|
data.cameraOffsetOffset.value = offset.Offset;
|
||||||
|
|
||||||
|
// And copy to the original
|
||||||
|
original = (CameraSettingData)data.Clone();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update(){
|
||||||
|
EaseToNewSmoothingValues();
|
||||||
|
ProcessCameraValues();
|
||||||
|
}
|
||||||
|
|
||||||
|
void EaseToNewSmoothingValues(){
|
||||||
|
data.mainFieldOfView.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, data.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
|
||||||
|
data.orbitPositionDamping.currentSmoothing = Mathf.MoveTowards(data.orbitPositionDamping.currentSmoothing, data.orbitPositionDamping.smoothing, easing.orbitPositionDamping.easing * Time.deltaTime);
|
||||||
|
data.orbitTargetOffset.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
|
||||||
|
data.axisLookGainX.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
data.axisLookGainY.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
|
||||||
|
data.orbitFollowTopHeight.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
data.orbitFollowTopRadius.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
data.orbitFollowCenterHeight.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
data.orbitFollowCenterRadius.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
data.orbitFollowBottomHeight.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
data.orbitFollowBottomRadius.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
|
||||||
|
data.rotationComposerScreenPos.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
|
data.cameraOffsetOffset.currentSmoothing = Mathf.MoveTowards(data.mainFieldOfView.currentSmoothing, data.mainFieldOfView.smoothing, easing.mainFieldOfView.easing * Time.deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProcessCameraValues(){
|
void ProcessCameraValues(){
|
||||||
main.Lens.FieldOfView = Mathf.SmoothDamp(main.Lens.FieldOfView,
|
main.Lens.FieldOfView = Mathf.SmoothDamp(main.Lens.FieldOfView,
|
||||||
values.mainFieldOfView.targetValue, ref values.mainFieldOfView.velocityRef,
|
data.mainFieldOfView.value, ref data.mainFieldOfView.refVel,
|
||||||
values.mainFieldOfView.smoothing);
|
data.mainFieldOfView.smoothing);
|
||||||
|
|
||||||
axisCont.Controllers[0].Enabled = values.axisLookEnabledX.targetValue;
|
axisCont.Controllers[0].Enabled = data.axisLookEnabledX.value;
|
||||||
|
|
||||||
axisCont.Controllers[1].Enabled = values.axisLookEnabledY.targetValue;
|
axisCont.Controllers[1].Enabled = data.axisLookEnabledY.value;
|
||||||
|
|
||||||
axisCont.Controllers[0].Input.Gain = Mathf.SmoothDamp(axisCont.Controllers[0].Input.Gain,
|
axisCont.Controllers[0].Input.Gain = Mathf.SmoothDamp(axisCont.Controllers[0].Input.Gain,
|
||||||
values.axisLookGainX.targetValue, ref values.axisLookGainX.velocityRef,
|
data.axisLookGainX.value, ref data.axisLookGainX.refVel,
|
||||||
values.axisLookGainX.smoothing);
|
data.axisLookGainX.smoothing);
|
||||||
|
|
||||||
axisCont.Controllers[1].Input.Gain = Mathf.SmoothDamp(axisCont.Controllers[1].Input.Gain,
|
axisCont.Controllers[1].Input.Gain = Mathf.SmoothDamp(axisCont.Controllers[1].Input.Gain,
|
||||||
values.axisLookGainY.targetValue, ref values.axisLookGainY.velocityRef,
|
data.axisLookGainY.value, ref data.axisLookGainY.refVel,
|
||||||
values.axisLookGainY.smoothing);
|
data.axisLookGainY.smoothing);
|
||||||
|
|
||||||
orbit.TargetOffset = Vector3.SmoothDamp(orbit.TargetOffset,
|
orbit.TargetOffset = Vector3.SmoothDamp(orbit.TargetOffset,
|
||||||
values.orbitTargetOffset.targetValue, ref values.orbitTargetOffset.velocityRefV3,
|
data.orbitTargetOffset.value, ref data.orbitTargetOffset.refVel,
|
||||||
values.orbitTargetOffset.smoothing);
|
data.orbitTargetOffset.smoothing);
|
||||||
|
|
||||||
orbit.TrackerSettings.PositionDamping = Vector3.SmoothDamp(orbit.TrackerSettings.PositionDamping,
|
orbit.TrackerSettings.PositionDamping = Vector3.SmoothDamp(orbit.TrackerSettings.PositionDamping,
|
||||||
values.orbitPositionDamping.targetValue, ref values.orbitPositionDamping.velocityRefV3,
|
data.orbitPositionDamping.value, ref data.orbitPositionDamping.refVel,
|
||||||
values.orbitPositionDamping.smoothing);
|
data.orbitPositionDamping.smoothing);
|
||||||
|
|
||||||
orbit.Orbits.Top.Height = Mathf.SmoothDamp(orbit.Orbits.Top.Height,
|
orbit.Orbits.Top.Height = Mathf.SmoothDamp(orbit.Orbits.Top.Height,
|
||||||
values.orbitFollowTopHeight.targetValue, ref values.orbitFollowTopHeight.velocityRef,
|
data.orbitFollowTopHeight.value, ref data.orbitFollowTopHeight.refVel,
|
||||||
values.orbitFollowTopHeight.smoothing);
|
data.orbitFollowTopHeight.smoothing);
|
||||||
|
|
||||||
orbit.Orbits.Top.Radius = Mathf.SmoothDamp(orbit.Orbits.Top.Radius,
|
orbit.Orbits.Top.Radius = Mathf.SmoothDamp(orbit.Orbits.Top.Radius,
|
||||||
values.orbitFollowTopRadius.targetValue, ref values.orbitFollowTopRadius.velocityRef,
|
data.orbitFollowTopRadius.value, ref data.orbitFollowTopRadius.refVel,
|
||||||
values.orbitFollowTopRadius.smoothing);
|
data.orbitFollowTopRadius.smoothing);
|
||||||
|
|
||||||
orbit.Orbits.Center.Height = Mathf.SmoothDamp(orbit.Orbits.Center.Height,
|
orbit.Orbits.Center.Height = Mathf.SmoothDamp(orbit.Orbits.Center.Height,
|
||||||
values.orbitFollowCenterHeight.targetValue, ref values.orbitFollowCenterHeight.velocityRef,
|
data.orbitFollowCenterHeight.value, ref data.orbitFollowCenterHeight.refVel,
|
||||||
values.orbitFollowCenterHeight.smoothing);
|
data.orbitFollowCenterHeight.smoothing);
|
||||||
|
|
||||||
orbit.Orbits.Center.Radius = Mathf.SmoothDamp(orbit.Orbits.Center.Radius,
|
orbit.Orbits.Center.Radius = Mathf.SmoothDamp(orbit.Orbits.Center.Radius,
|
||||||
values.orbitFollowCenterRadius.targetValue, ref values.orbitFollowCenterRadius.velocityRef,
|
data.orbitFollowCenterRadius.value, ref data.orbitFollowCenterRadius.refVel,
|
||||||
values.orbitFollowCenterRadius.smoothing);
|
data.orbitFollowCenterRadius.smoothing);
|
||||||
|
|
||||||
orbit.Orbits.Bottom.Height = Mathf.SmoothDamp(orbit.Orbits.Bottom.Height,
|
orbit.Orbits.Bottom.Height = Mathf.SmoothDamp(orbit.Orbits.Bottom.Height,
|
||||||
values.orbitFollowBottomHeight.targetValue, ref values.orbitFollowBottomHeight.velocityRef,
|
data.orbitFollowBottomHeight.value, ref data.orbitFollowBottomHeight.refVel,
|
||||||
values.orbitFollowBottomHeight.smoothing);
|
data.orbitFollowBottomHeight.smoothing);
|
||||||
|
|
||||||
orbit.Orbits.Bottom.Radius = Mathf.SmoothDamp(orbit.Orbits.Bottom.Radius,
|
orbit.Orbits.Bottom.Radius = Mathf.SmoothDamp(orbit.Orbits.Bottom.Radius,
|
||||||
values.orbitFollowBottomRadius.targetValue, ref values.orbitFollowBottomRadius.velocityRef,
|
data.orbitFollowBottomRadius.value, ref data.orbitFollowBottomRadius.refVel,
|
||||||
values.orbitFollowBottomRadius.smoothing);
|
data.orbitFollowBottomRadius.smoothing);
|
||||||
|
|
||||||
rotComp.Composition.ScreenPosition = Vector2.SmoothDamp(rotComp.Composition.ScreenPosition,
|
rotComp.Composition.ScreenPosition = Vector2.SmoothDamp(rotComp.Composition.ScreenPosition,
|
||||||
values.rotationComposerScreenPos.targetValue, ref values.rotationComposerScreenPos.velocityRefV2,
|
data.rotationComposerScreenPos.value, ref data.rotationComposerScreenPos.refVel,
|
||||||
values.rotationComposerScreenPos.smoothing);
|
data.rotationComposerScreenPos.smoothing);
|
||||||
|
|
||||||
offset.Offset = Vector3.SmoothDamp(offset.Offset,
|
offset.Offset = Vector3.SmoothDamp(offset.Offset,
|
||||||
values.cameraOffsetOffset.targetValue, ref values.cameraOffsetOffset.velocityRefV3,
|
data.cameraOffsetOffset.value, ref data.cameraOffsetOffset.refVel,
|
||||||
values.cameraOffsetOffset.smoothing);
|
data.cameraOffsetOffset.smoothing);
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Update(){
|
|
||||||
ProcessCameraValues();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using NUnit.Framework.Internal;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using ParadoxNotion.Design;
|
using ParadoxNotion.Design;
|
||||||
|
using PlasticPipe.PlasticProtocol.Messages;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using UnityEngine.Serialization;
|
|
||||||
using Quaternion = UnityEngine.Quaternion;
|
|
||||||
|
|
||||||
public enum PlayerFacingDirection{
|
public enum PlayerFacingDirection{
|
||||||
TowardsTarget = 0,
|
TowardsTarget = 0,
|
||||||
@@ -26,7 +24,6 @@ namespace Reset.Units{
|
|||||||
// Movement Direction
|
// Movement Direction
|
||||||
public float accelerationSmoothing = 5f;
|
public float accelerationSmoothing = 5f;
|
||||||
public float deaccelerationSmoothing = 5f;
|
public float deaccelerationSmoothing = 5f;
|
||||||
// public AnimationCurve deaccelerationCurve; // Currently unused, may return
|
|
||||||
|
|
||||||
[SliderField(0,1)]
|
[SliderField(0,1)]
|
||||||
public float airDirectionDecay;
|
public float airDirectionDecay;
|
||||||
@@ -47,9 +44,8 @@ namespace Reset.Units{
|
|||||||
public float settingsChangeSmoothing = 6f;
|
public float settingsChangeSmoothing = 6f;
|
||||||
|
|
||||||
// Rotation
|
// Rotation
|
||||||
[ShowInInspector, SerializeReference]
|
[ShowInInspector, SerializeReference] public Enum rotateFacing;
|
||||||
public Enum rotateFacing;
|
public float rotationSpeed = 5f;
|
||||||
[FormerlySerializedAs("rotationSpeedTarget")] public float rotationSpeed = 5f;
|
|
||||||
public float rotationSmoothing = 1f;
|
public float rotationSmoothing = 1f;
|
||||||
public float rotationInputBlending = .3f;
|
public float rotationInputBlending = .3f;
|
||||||
|
|
||||||
@@ -58,7 +54,37 @@ namespace Reset.Units{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class ResolvedMovement{
|
||||||
|
public UnitMovementHandler.MoveDirection moveDirection;
|
||||||
|
public float moveSpeed;
|
||||||
|
public Quaternion rotation;
|
||||||
|
public float rotationSpeed;
|
||||||
|
public float gravity;
|
||||||
|
}
|
||||||
|
|
||||||
public class UnitMovementHandler : MonoBehaviour{
|
public class UnitMovementHandler : MonoBehaviour{
|
||||||
|
public struct MoveDirection{
|
||||||
|
private Transform owner;
|
||||||
|
|
||||||
|
private Vector2 moveDir; // Always local
|
||||||
|
|
||||||
|
public Vector2 World{
|
||||||
|
get => owner.TransformDirection(Local);
|
||||||
|
set{
|
||||||
|
moveDir = owner.InverseTransformDirection(value);
|
||||||
|
Local = moveDir;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector2 Local{
|
||||||
|
get => owner.InverseTransformDirection(World);
|
||||||
|
set {
|
||||||
|
moveDir = value;
|
||||||
|
World = owner.TransformDirection(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// class MovementFloatModifier{
|
// class MovementFloatModifier{
|
||||||
// // IBuffSource source
|
// // IBuffSource source
|
||||||
// public float value;
|
// public float value;
|
||||||
@@ -79,25 +105,24 @@ namespace Reset.Units{
|
|||||||
[FoldoutGroup("Smoothed Values"), ShowInInspector, ReadOnly] private float smoothedGravityScale;
|
[FoldoutGroup("Smoothed Values"), ShowInInspector, ReadOnly] private float smoothedGravityScale;
|
||||||
[FoldoutGroup("Smoothed Values"), ShowInInspector, ReadOnly] private float settingsChangeRotationSpeed;
|
[FoldoutGroup("Smoothed Values"), ShowInInspector, ReadOnly] private float settingsChangeRotationSpeed;
|
||||||
|
|
||||||
private float directionChangeDot;
|
// Lerps
|
||||||
private bool moveCallDisabledNextFrame;
|
private float directionChangeDotLerp;
|
||||||
|
private Vector3 moveSmoothVelocityRef;
|
||||||
private bool movedThisFrame;
|
private float gravitySmoothVelocityRef;
|
||||||
|
|
||||||
|
// References
|
||||||
private CharacterController controller;
|
private CharacterController controller;
|
||||||
private PlayerControls controls;
|
private PlayerControls controls;
|
||||||
private LockOnManager lockOnManager;
|
private LockOnManager lockOnManager;
|
||||||
|
|
||||||
private Vector3 moveSmooth;
|
// Movement Data
|
||||||
public float gravitySmooth;
|
[ShowInInspector, PropertyOrder(2)] public UnitMovementData data = new();
|
||||||
|
[ShowInInspector, PropertyOrder(2)] public UnitMovementData smoothing = new();
|
||||||
|
[ShowInInspector, PropertyOrder(2)] public UnitMovementData easing = new();
|
||||||
|
|
||||||
private bool relativeToCamera;
|
[HideInInspector] public UnitMovementData defaultData;
|
||||||
|
[HideInInspector] public UnitMovementData defaultSmoothing;
|
||||||
[ShowInInspector, PropertyOrder(2)]
|
[HideInInspector] public UnitMovementData defaultEasing;
|
||||||
public UnitMovementData data = new();
|
|
||||||
|
|
||||||
[HideInInspector]
|
|
||||||
public UnitMovementData defaultData;
|
|
||||||
|
|
||||||
void Awake(){
|
void Awake(){
|
||||||
controller = GetComponent<CharacterController>();
|
controller = GetComponent<CharacterController>();
|
||||||
@@ -105,15 +130,16 @@ namespace Reset.Units{
|
|||||||
lockOnManager = GetComponent<LockOnManager>();
|
lockOnManager = GetComponent<LockOnManager>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Start(){
|
void Start(){
|
||||||
defaultData = (UnitMovementData)data.Clone();
|
defaultData = (UnitMovementData)data.Clone();
|
||||||
|
defaultSmoothing = (UnitMovementData)smoothing.Clone();
|
||||||
|
defaultEasing = (UnitMovementData)easing.Clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update(){
|
void Update(){
|
||||||
UpdateCurrentDirection();
|
UpdateCurrentDirection();
|
||||||
UpdateCurrentGravity();
|
UpdateCurrentGravity();
|
||||||
UpdateCurrentSpeed();
|
UpdateCurrentSpeed();
|
||||||
|
|
||||||
UpdateCurrentRotation();
|
UpdateCurrentRotation();
|
||||||
|
|
||||||
DoMovement();
|
DoMovement();
|
||||||
@@ -188,7 +214,7 @@ namespace Reset.Units{
|
|||||||
float switchedDirection = Vector3.Dot(inputMovement, outputMoveDirection);
|
float switchedDirection = Vector3.Dot(inputMovement, outputMoveDirection);
|
||||||
float switchedDirectionRemapped = Mathf.Lerp(0, 1, switchedDirection);
|
float switchedDirectionRemapped = Mathf.Lerp(0, 1, switchedDirection);
|
||||||
|
|
||||||
directionChangeDot = Mathf.Lerp(switchedDirection, switchedDirectionRemapped, 5f * Time.deltaTime) ; // turn that .5f into a variable
|
directionChangeDotLerp = Mathf.Lerp(switchedDirection, switchedDirectionRemapped, 5f * Time.deltaTime) ; // turn that .5f into a variable
|
||||||
|
|
||||||
// Smooth movement. Use deaccel smoothing if the input magnitude is lower, and accel smoothing if it's higher
|
// Smooth movement. Use deaccel smoothing if the input magnitude is lower, and accel smoothing if it's higher
|
||||||
// Also checks when grounded to only use Slerp on the ground
|
// Also checks when grounded to only use Slerp on the ground
|
||||||
@@ -197,7 +223,7 @@ namespace Reset.Units{
|
|||||||
slerpedValue = Vector3.Slerp(currentNoY, targetNoY, data.accelerationSmoothing * Time.deltaTime);
|
slerpedValue = Vector3.Slerp(currentNoY, targetNoY, data.accelerationSmoothing * Time.deltaTime);
|
||||||
lerpedValue = Vector3.Lerp(currentNoY, targetNoY, data.accelerationSmoothing * Time.deltaTime);
|
lerpedValue = Vector3.Lerp(currentNoY, targetNoY, data.accelerationSmoothing * Time.deltaTime);
|
||||||
|
|
||||||
currentNoY = Vector3.Lerp(lerpedValue, slerpedValue, directionChangeDot);
|
currentNoY = Vector3.Lerp(lerpedValue, slerpedValue, directionChangeDotLerp);
|
||||||
} else {
|
} else {
|
||||||
currentNoY = Vector3.Lerp(currentNoY, targetNoY, data.accelerationSmoothing * Time.deltaTime);
|
currentNoY = Vector3.Lerp(currentNoY, targetNoY, data.accelerationSmoothing * Time.deltaTime);
|
||||||
}
|
}
|
||||||
@@ -206,14 +232,14 @@ namespace Reset.Units{
|
|||||||
slerpedValue = Vector3.Slerp(currentNoY, targetNoY, data.deaccelerationSmoothing * Time.deltaTime);
|
slerpedValue = Vector3.Slerp(currentNoY, targetNoY, data.deaccelerationSmoothing * Time.deltaTime);
|
||||||
lerpedValue = Vector3.Lerp(currentNoY, targetNoY, data.deaccelerationSmoothing * Time.deltaTime);
|
lerpedValue = Vector3.Lerp(currentNoY, targetNoY, data.deaccelerationSmoothing * Time.deltaTime);
|
||||||
|
|
||||||
currentNoY = Vector3.Lerp(lerpedValue, slerpedValue, directionChangeDot);
|
currentNoY = Vector3.Lerp(lerpedValue, slerpedValue, directionChangeDotLerp);
|
||||||
} else {
|
} else {
|
||||||
currentNoY = Vector3.Lerp(currentNoY, targetNoY, data.deaccelerationSmoothing * data.airDirectionDecay * Time.deltaTime);
|
currentNoY = Vector3.Lerp(currentNoY, targetNoY, data.deaccelerationSmoothing * data.airDirectionDecay * Time.deltaTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Commit move direction
|
// Commit move direction
|
||||||
outputMoveDirection = Vector3.SmoothDamp(outputMoveDirection, new Vector3(currentNoY.x, outputMoveDirection.y, currentNoY.z),ref moveSmooth , .5f *Time.deltaTime);
|
outputMoveDirection = Vector3.SmoothDamp(outputMoveDirection, new Vector3(currentNoY.x, outputMoveDirection.y, currentNoY.z),ref moveSmoothVelocityRef , .5f *Time.deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the speed, called every frame
|
// Update the speed, called every frame
|
||||||
@@ -237,7 +263,7 @@ namespace Reset.Units{
|
|||||||
float gravityMoveDirection = data.jumpPower + (Physics.gravity.y * data.gravityPower);
|
float gravityMoveDirection = data.jumpPower + (Physics.gravity.y * data.gravityPower);
|
||||||
|
|
||||||
// Commit gravity to move direction, ignoring XZ since those are done in UpdateMovementDirection
|
// Commit gravity to move direction, ignoring XZ since those are done in UpdateMovementDirection
|
||||||
outputMoveDirection.y = Mathf.SmoothDamp(outputMoveDirection.y, gravityMoveDirection, ref gravitySmooth, .1f * Time.deltaTime);
|
outputMoveDirection.y = Mathf.SmoothDamp(outputMoveDirection.y, gravityMoveDirection, ref gravitySmoothVelocityRef, .1f * Time.deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the rotation, called every frame
|
// Update the rotation, called every frame
|
||||||
@@ -295,10 +321,6 @@ namespace Reset.Units{
|
|||||||
DoMovement(outputMoveDirection, outputSpeed, data.gravityScale);
|
DoMovement(outputMoveDirection, outputSpeed, data.gravityScale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DisableNextMoveCall(){
|
|
||||||
moveCallDisabledNextFrame = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Custom move from input
|
// Custom move from input
|
||||||
public void DoMovement(Vector3 moveDir, float speed, float gravityScale){
|
public void DoMovement(Vector3 moveDir, float speed, float gravityScale){
|
||||||
// Debug.Log($"moveDir: {moveDir}, agent velocity: {transform.InverseTransformDirection(controller.velocity.normalized)}");
|
// Debug.Log($"moveDir: {moveDir}, agent velocity: {transform.InverseTransformDirection(controller.velocity.normalized)}");
|
||||||
|
|||||||
Reference in New Issue
Block a user