diff --git a/Assets/Player/Graphs/GrappleAimBT.asset b/Assets/Player/Graphs/GrappleAimBT.asset index 230a47a..a2404c6 100644 --- a/Assets/Player/Graphs/GrappleAimBT.asset +++ b/Assets/Player/Graphs/GrappleAimBT.asset @@ -12,20 +12,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a686a47eee2fa44cb0a34b5d86e4d5e, type: 3} m_Name: GrappleAimBT m_EditorClassIdentifier: - _serializedGraph: '{"type":"NodeCanvas.BehaviourTrees.BehaviourTree","nodes":[{"_position":{"x":732.5245,"y":286.5939},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"0"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":89.95151,"y":510.918},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"1"},{"_action":{"fieldOfView":{"label":"FOV","value":60.0,"changeValue":1},"orbitPositionDamping":{"label":"Position + _serializedGraph: '{"type":"NodeCanvas.BehaviourTrees.BehaviourTree","nodes":[{"_position":{"x":732.5245,"y":286.5939},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"0"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":89.9515,"y":509.9156},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"1"},{"_action":{"fieldOfView":{"label":"FOV","value":60.0,"changeValue":1},"orbitPositionDamping":{"label":"Position Damping","newValue":{"x":0.2,"z":0.2},"changeX":1,"changeZ":1},"orbitFollowTop":{"label":"Top","changeHeight":1,"height":2.0,"changeRadius":1,"radius":2.0},"orbitFollowCenter":{"label":"Center","changeHeight":1,"height":1.5,"changeRadius":1,"radius":2.4},"orbitFollowBottom":{"label":"Bottom","changeHeight":1,"height":0.2,"changeRadius":1,"radius":0.8},"cameraOffset":{"label":"Screen - Position","newValue":{"x":2.0,"y":0.5,"z":-1.0},"changeX":1,"changeY":1,"changeZ":1},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},"_position":{"x":-85.3679,"y":667.3029},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"2"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":336.0,"y":511.0},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"3"},{"_action":{"boolVariable":{"_name":"_castHit"},"setTo":0,"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":568.0,"y":515.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"4"},{"policy":1,"dynamic":true,"_position":{"x":749.7742,"y":517.9701},"$type":"NodeCanvas.BehaviourTrees.Parallel","$id":"5"},{"repeaterMode":2,"repeatTimes":{"_value":1},"_position":{"x":247.0,"y":763.0},"$type":"NodeCanvas.BehaviourTrees.Repeater","$id":"6"},{"_condition":{"castType":{"_value":4},"length":{"_value":20.0},"direction":{"_value":{"z":1.0}},"offset":{},"ignoreLayers":{"_value":{"value":8}},"width":{"_value":3.0},"size":{},"rotation":{},"drawGizmos":true,"outputHit":{"_name":"_observerHit"},"overrideAgent":{"_type":"UnityEngine.Transform","_name":"camera","_targetVariableID":"e1cfd0be-7f55-420d-bdd8-e72531fc61ba"},"$type":"Reset.CheckGenericObserver"},"_position":{"x":209.0,"y":871.0},"$type":"NodeCanvas.BehaviourTrees.BinarySelector","$id":"7"},{"_action":{"boolVariable":{"_name":"_castHit"},"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":127.0,"y":975.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"8"},{"_action":{"boolVariable":{"_name":"_castHit"},"setTo":0,"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":320.0,"y":973.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"9"},{"_position":{"x":841.0,"y":848.0},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"10"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":540.0,"y":973.0},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"11"},{"_condition":{"valueA":{"_name":"_castHit"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_position":{"x":569.0,"y":1079.0},"$type":"NodeCanvas.BehaviourTrees.ConditionalEvaluator","$id":"12"},{"_action":{"eventName":{"_value":"Started - Tilt Controls"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"},"_position":{"x":511.9847,"y":1182.83},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"13"},{"_position":{"x":852.0,"y":973.0},"$type":"NodeCanvas.BehaviourTrees.Inverter","$id":"14"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":799.0,"y":1035.0},"$type":"NodeCanvas.BehaviourTrees.Interruptor","$id":"15"},{"repeaterMode":2,"repeatTimes":{"_value":1},"_position":{"x":902.6089,"y":1145.236},"$type":"NodeCanvas.BehaviourTrees.Repeater","$id":"16"},{"_position":{"x":912.0,"y":1202.0},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"17"},{"_action":{"orbitTargetOffset":{"label":"Target - Offset","newValue":{"y":0.04},"changeX":2,"changeY":1},"axisLookXGain":{"label":"Look - Orbit X Gain","changeValue":1},"axisLookYGain":{"label":"Look Orbit Y Gain","changeValue":1},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},"_position":{"x":550.5596,"y":1329.851},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"18"},{"_action":{"actions":[{"actionName":{"_value":"Look"},"outputTo":{"_name":"_lookDir"},"$type":"NodeCanvas.Tasks.Actions.CheckInputValue`1[[UnityEngine.Vector2, - UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},{"targetVector":{"_name":"_lookDir"},"x":{"_name":""},"y":{"_name":"_lookDirY"},"z":{"_name":""},"$type":"NodeCanvas.Tasks.Actions.DecomposeVector"}],"$type":"NodeCanvas.Framework.ActionList"},"_position":{"x":753.6562,"y":1331.63},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"19"},{"_condition":{"valueA":{"_name":"_lookDirY"},"checkType":1,"valueB":{"_value":0.2},"differenceThreshold":0.1,"$type":"NodeCanvas.Tasks.Conditions.CheckFloat"},"_position":{"x":1076.257,"y":1335.687},"$type":"NodeCanvas.BehaviourTrees.BinarySelector","$id":"20"},{"_action":{"orbitTargetOffset":{"label":"Target - Offset","newValue":{"y":0.04},"changeY":1},"enableXAxis":{"label":"Input Axis - X Enabled","changeValue":1},"enableYAxis":{"label":"Input Axis Y Enabled","changeValue":1},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},"_position":{"x":958.9839,"y":1482.521},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"21"},{"_action":{"orbitTargetOffset":{"label":"Target - Offset","changeY":2},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},"_position":{"x":1176.0,"y":1476.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"22"},{"_action":{"eventName":{"_value":"Confirmed - Choice"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"},"_position":{"x":1059.947,"y":979.5414},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"23"},{"policy":1,"_position":{"x":928.0059,"y":524.0208},"$type":"NodeCanvas.BehaviourTrees.Parallel","$id":"24"},{"_condition":{"conditions":[{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"_castHit"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_position":{"x":965.381,"y":658.2095},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"25"},{"_action":{"log":{"_value":"Cancelled"},"secondsToRun":0.0,"$type":"NodeCanvas.Tasks.Actions.DebugLogText"},"_position":{"x":1046.394,"y":796.2429},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"26"},{"_action":{"actions":[{"fieldOfView":{"label":"FOV","changeValue":2},"orbitFollowTop":{"label":"Top","changeHeight":2,"changeRadius":2},"orbitFollowCenter":{"label":"Center","changeHeight":2,"changeRadius":2},"orbitFollowBottom":{"label":"Bottom","changeHeight":2,"changeRadius":2},"axisLookXGain":{"label":"Look - Orbit X Gain","changeValue":2},"axisLookYGain":{"label":"Look Orbit Y Gain","changeValue":2},"screenPosition":{"label":"Screen - Position","changeX":2,"changeY":2},"cameraOffset":{"label":"Screen Position","changeX":2,"changeY":2,"changeZ":2},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},{"valueA":{"_name":"_observerHit"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[UnityEngine.RaycastHit, - UnityEngine.PhysicsModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}],"$type":"NodeCanvas.Framework.ActionList"},"_position":{"x":1106.84,"y":503.1857},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"27"},{"failureRemap":1,"_position":{"x":400.0,"y":1531.0},"$type":"NodeCanvas.BehaviourTrees.Remapper","$id":"28"},{"_condition":{"conditions":[{"valueA":{"_name":"_castHit"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":4},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_position":{"x":360.6637,"y":1617.808},"$type":"NodeCanvas.BehaviourTrees.Interruptor","$id":"29"},{"monitorMode":1,"_position":{"x":-312.8632,"y":1265.204},"$type":"NodeCanvas.BehaviourTrees.Monitor","$id":"30"},{"_position":{"x":-309.8632,"y":1368.204},"$type":"NodeCanvas.BehaviourTrees.Inverter","$id":"31"},{"_position":{"x":-307.8632,"y":1422.204},"$type":"NodeCanvas.BehaviourTrees.Selector","$id":"32"},{"_condition":{"castType":{"_value":4},"length":{"_value":20.0},"direction":{"_value":{"z":1.0}},"offset":{},"ignoreLayers":{"_value":{"value":8}},"width":{"_value":3.0},"size":{},"rotation":{},"drawGizmos":true,"outputHit":{"_name":"_observerHit"},"overrideAgent":{"_type":"UnityEngine.Transform","_name":"camera","_targetVariableID":"e1cfd0be-7f55-420d-bdd8-e72531fc61ba"},"$type":"Reset.CheckGenericObserver"},"_position":{"x":-621.8632,"y":1503.204},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"33"},{"_position":{"x":-659.8632,"y":1633.204},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"34"},{"_action":{"boolVariable":{"_name":"_castHit"},"setTo":0,"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":-914.8632,"y":1736.204},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"35"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":-726.2145,"y":1735.09},"$type":"NodeCanvas.BehaviourTrees.ConditionNode","$id":"36"},{"_action":{"boolVariable":{"_name":"_castHit"},"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":-505.8632,"y":1739.204},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"37"},{"policy":1,"dynamic":true,"_position":{"x":-305.8632,"y":1532.204},"$type":"NodeCanvas.BehaviourTrees.Parallel","$id":"38"},{"repeaterMode":2,"repeatTimes":{"_value":1},"_position":{"x":-311.8632,"y":1674.204},"$type":"NodeCanvas.BehaviourTrees.Repeater","$id":"39"},{"_action":{"actionName":{"_value":"Move"},"outputTo":{"_name":"_test"},"$type":"NodeCanvas.Tasks.Actions.CheckInputValue`1[[UnityEngine.Vector2, + Position","newValue":{"x":2.0,"y":0.5,"z":-1.0},"changeX":1,"changeY":1,"changeZ":1},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},"_position":{"x":-85.3679,"y":667.3029},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"2"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":336.0,"y":511.0},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"3"},{"_action":{"boolVariable":{"_name":"_castHit"},"setTo":0,"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":568.0,"y":515.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"4"},{"policy":1,"dynamic":true,"_position":{"x":749.7742,"y":517.9701},"$type":"NodeCanvas.BehaviourTrees.Parallel","$id":"5"},{"repeaterMode":2,"repeatTimes":{"_value":1},"_position":{"x":247.0,"y":763.0},"$type":"NodeCanvas.BehaviourTrees.Repeater","$id":"6"},{"_condition":{"castType":{"_value":4},"length":{"_value":20.0},"direction":{"_value":{"z":1.0}},"offset":{},"ignoreLayers":{"_value":{"value":8}},"width":{"_value":3.0},"size":{},"rotation":{},"drawGizmos":true,"outputHit":{"_name":"_hit"},"overrideAgent":{"_type":"UnityEngine.Transform","_name":"camera","_targetVariableID":"e1cfd0be-7f55-420d-bdd8-e72531fc61ba"},"$type":"Reset.CheckGenericObserver"},"_position":{"x":209.0,"y":870.0},"$type":"NodeCanvas.BehaviourTrees.BinarySelector","$id":"7"},{"_action":{"boolVariable":{"_name":"_castHit"},"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":127.0,"y":975.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"8"},{"_action":{"boolVariable":{"_name":"_castHit"},"setTo":0,"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":320.0,"y":973.0},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"9"},{"_position":{"x":841.0,"y":848.0},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"10"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":540.0,"y":973.0},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"11"},{"_condition":{"valueA":{"_name":"_castHit"},"valueB":{"_value":true},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},"_position":{"x":569.0,"y":1078.0},"$type":"NodeCanvas.BehaviourTrees.ConditionalEvaluator","$id":"12"},{"_action":{"actions":[{"raycastHit":{"_name":"_hit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{},"point":{"_name":"_hitPoint"},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"},{"objectName":{"_value":"Hit + Point"},"position":{"_name":"_hitPoint"},"rotation":{},"saveAs":{"_name":"_hitPointObject"},"$type":"NodeCanvas.Tasks.Actions.CreateGameObject"},{"relatedObject":{"_name":"_hitPointObject"},"weight":{"_value":0.15},"isMain":{"_value":true},"$type":"NodeCanvas.Tasks.Actions.UpdateObjectCameraTracking"}],"$type":"NodeCanvas.Framework.ActionList"},"_tag":"","_position":{"x":362.2634,"y":1221.254},"_comment":"","$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"13"},{"_position":{"x":852.0,"y":973.0},"$type":"NodeCanvas.BehaviourTrees.Inverter","$id":"14"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":799.0,"y":1035.0},"$type":"NodeCanvas.BehaviourTrees.Interruptor","$id":"15"},{"repeaterMode":2,"repeatTimes":{"_value":1},"_position":{"x":902.6089,"y":1145.236},"$type":"NodeCanvas.BehaviourTrees.Repeater","$id":"16"},{"_position":{"x":912.0,"y":1202.0},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"17"},{"_action":{"enableXAxis":{"label":"Input + Axis X Enabled","changeValue":1},"enableYAxis":{"label":"Input Axis Y Enabled","changeValue":1},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},"_position":{"x":700.5458,"y":1355.854},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"18"},{"_action":{"actions":[{"actionName":{"_value":"Look"},"outputTo":{"_name":"_lookDir"},"$type":"NodeCanvas.Tasks.Actions.CheckInputValue`1[[UnityEngine.Vector2, + UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},{"targetVector":{"_name":"_lookDir"},"x":{"_name":""},"y":{"_name":"_lookDirY"},"z":{"_name":""},"$type":"NodeCanvas.Tasks.Actions.DecomposeVector"}],"$type":"NodeCanvas.Framework.ActionList"},"_position":{"x":903.6424,"y":1356.633},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"19"},{"_condition":{"valueA":{"_name":"_lookDirY"},"checkType":1,"valueB":{"_value":0.5},"differenceThreshold":0.1,"$type":"NodeCanvas.Tasks.Conditions.CheckFloat"},"_position":{"x":1186.228,"y":1359.689},"$type":"NodeCanvas.BehaviourTrees.BinarySelector","$id":"20"},{"_action":{"orbitTargetOffset":{"label":"Target + Offset","newValue":{"y":-0.5},"changeY":1},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},"_position":{"x":1068.955,"y":1506.523},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"21"},{"_action":{"orbitTargetOffset":{"label":"Target + Offset","changeY":2},"enableXAxis":{"label":"Input Axis X Enabled"},"enableYAxis":{"label":"Input + Axis Y Enabled"},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},"_position":{"x":1276.972,"y":1500.002},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"22"},{"_action":{"eventName":{"_value":"Confirmed + Choice"},"delay":{},"$type":"NodeCanvas.Tasks.Actions.SendEvent"},"_position":{"x":1059.947,"y":979.5414},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"23"},{"policy":1,"_position":{"x":921.0059,"y":510.0208},"$type":"NodeCanvas.BehaviourTrees.Parallel","$id":"24"},{"_condition":{"conditions":[{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},{"valueA":{"_name":"_castHit"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"}],"$type":"NodeCanvas.Framework.ConditionList"},"_position":{"x":926.381,"y":667.2095},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"25"},{"_action":{"log":{"_value":"Cancelled"},"secondsToRun":0.0,"$type":"NodeCanvas.Tasks.Actions.DebugLogText"},"_position":{"x":1007.394,"y":805.2429},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"26"},{"_action":{"actions":[{"fieldOfView":{"label":"FOV","changeValue":2},"orbitTargetOffset":{"label":"Target + Offset","changeY":2},"orbitFollowTop":{"label":"Top","changeHeight":2,"changeRadius":2},"orbitFollowCenter":{"label":"Center","changeHeight":2,"changeRadius":2},"orbitFollowBottom":{"label":"Bottom","changeHeight":2,"changeRadius":2},"enableXAxis":{"label":"Input + Axis X Enabled","value":true,"changeValue":2},"enableYAxis":{"label":"Input Axis + Y Enabled","value":true,"changeValue":2},"screenPosition":{"label":"Screen Position","changeX":2,"changeY":2},"cameraOffset":{"label":"Screen + Position","changeX":2,"changeY":2,"changeZ":2},"$type":"NodeCanvas.Tasks.Actions.ChangeCameraSettings"},{"valueA":{"_name":"_observerHit"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[UnityEngine.RaycastHit, + UnityEngine.PhysicsModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},{"relatedObject":{"_name":"_hitPointObject"},"action":1,"weight":{"_value":0.15},"isMain":{"_value":true},"$type":"NodeCanvas.Tasks.Actions.UpdateObjectCameraTracking"},{"overrideAgent":{"_type":"UnityEngine.Transform","_name":"_hitPointObject"},"$type":"NodeCanvas.Tasks.Actions.DestroyGameObject"}],"$type":"NodeCanvas.Framework.ActionList"},"_position":{"x":1100.492,"y":513.6263},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"27"},{"failureRemap":1,"_position":{"x":400.0,"y":1531.0},"$type":"NodeCanvas.BehaviourTrees.Remapper","$id":"28"},{"_condition":{"conditions":[{"valueA":{"_name":"_castHit"},"valueB":{},"$type":"NodeCanvas.Tasks.Conditions.CheckBoolean"},{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":4},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Conditions.CheckInput"}],"$type":"NodeCanvas.Framework.ConditionList"},"_position":{"x":360.6637,"y":1617.808},"$type":"NodeCanvas.BehaviourTrees.Interruptor","$id":"29"},{"monitorMode":1,"_position":{"x":-312.8632,"y":1265.204},"$type":"NodeCanvas.BehaviourTrees.Monitor","$id":"30"},{"_position":{"x":-309.8632,"y":1368.204},"$type":"NodeCanvas.BehaviourTrees.Inverter","$id":"31"},{"_position":{"x":-307.8632,"y":1422.204},"$type":"NodeCanvas.BehaviourTrees.Selector","$id":"32"},{"_condition":{"castType":{"_value":4},"length":{"_value":20.0},"direction":{"_value":{"z":1.0}},"offset":{},"ignoreLayers":{"_value":{"value":8}},"width":{"_value":3.0},"size":{},"rotation":{},"drawGizmos":true,"outputHit":{},"overrideAgent":{"_type":"UnityEngine.Transform","_name":"camera","_targetVariableID":"e1cfd0be-7f55-420d-bdd8-e72531fc61ba"},"$type":"Reset.CheckGenericObserver"},"_position":{"x":-620.8632,"y":1503.204},"$type":"NodeCanvas.BehaviourTrees.WaitUntil","$id":"33"},{"_position":{"x":-659.8632,"y":1633.204},"$type":"NodeCanvas.BehaviourTrees.Sequencer","$id":"34"},{"_action":{"boolVariable":{"_name":"_castHit"},"setTo":0,"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":-914.8632,"y":1736.204},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"35"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":3},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":-726.2145,"y":1735.09},"$type":"NodeCanvas.BehaviourTrees.ConditionNode","$id":"36"},{"_action":{"boolVariable":{"_name":"_castHit"},"$type":"NodeCanvas.Tasks.Actions.SetBoolean"},"_position":{"x":-505.8632,"y":1739.204},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"37"},{"policy":1,"dynamic":true,"_position":{"x":-305.8632,"y":1532.204},"$type":"NodeCanvas.BehaviourTrees.Parallel","$id":"38"},{"repeaterMode":2,"repeatTimes":{"_value":1},"_position":{"x":-311.8632,"y":1674.204},"$type":"NodeCanvas.BehaviourTrees.Repeater","$id":"39"},{"_action":{"actionName":{"_value":"Move"},"outputTo":{"_name":"_test"},"$type":"NodeCanvas.Tasks.Actions.CheckInputValue`1[[UnityEngine.Vector2, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},"_position":{"x":-326.9252,"y":1793.079},"$type":"NodeCanvas.BehaviourTrees.ActionNode","$id":"40"},{"_condition":{"actionName":{"_value":"Grapple"},"actionPhase":{"_value":4},"$type":"NodeCanvas.Tasks.Conditions.CheckInput"},"_position":{"x":-159.1308,"y":1664.066},"$type":"NodeCanvas.BehaviourTrees.ConditionNode","$id":"41"}],"connections":[{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"1"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"3"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"4"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"5"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"24"},"_isDisabled":true,"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"0"},"_targetNode":{"$ref":"27"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"1"},"_targetNode":{"$ref":"2"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"5"},"_targetNode":{"$ref":"6"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"5"},"_targetNode":{"$ref":"10"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"6"},"_targetNode":{"$ref":"7"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"7"},"_targetNode":{"$ref":"8"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"7"},"_targetNode":{"$ref":"9"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"10"},"_targetNode":{"$ref":"11"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"10"},"_targetNode":{"$ref":"14"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"10"},"_targetNode":{"$ref":"23"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"11"},"_targetNode":{"$ref":"12"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"12"},"_targetNode":{"$ref":"13"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"14"},"_targetNode":{"$ref":"15"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"15"},"_targetNode":{"$ref":"16"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"16"},"_targetNode":{"$ref":"17"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"17"},"_targetNode":{"$ref":"18"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"17"},"_targetNode":{"$ref":"19"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"17"},"_targetNode":{"$ref":"20"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"20"},"_targetNode":{"$ref":"21"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"20"},"_targetNode":{"$ref":"22"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"24"},"_targetNode":{"$ref":"25"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"25"},"_targetNode":{"$ref":"26"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"28"},"_targetNode":{"$ref":"29"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"30"},"_targetNode":{"$ref":"31"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"31"},"_targetNode":{"$ref":"32"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"33"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"32"},"_targetNode":{"$ref":"38"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"33"},"_targetNode":{"$ref":"34"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"34"},"_targetNode":{"$ref":"35"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"34"},"_targetNode":{"$ref":"36"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"34"},"_targetNode":{"$ref":"37"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"38"},"_targetNode":{"$ref":"39"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"38"},"_targetNode":{"$ref":"41"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"},{"_sourceNode":{"$ref":"39"},"_targetNode":{"$ref":"40"},"$type":"NodeCanvas.BehaviourTrees.BTConnection"}],"canvasGroups":[],"localBlackboard":{"_variables":{"camera":{"_name":"camera","_id":"e1cfd0be-7f55-420d-bdd8-e72531fc61ba","_isPublic":true,"$type":"NodeCanvas.Framework.Variable`1[[UnityEngine.Transform, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}},"derivedData":{"repeat":true,"$type":"NodeCanvas.BehaviourTrees.BehaviourTree+DerivedSerializationData"}}' _objectReferences: [] @@ -33,7 +34,7 @@ MonoBehaviour: _version: 3.31 _category: _comments: - _translation: {x: 82, y: -452} - _zoomFactor: 0.9976506 + _translation: {x: 111.29677, y: -125.136375} + _zoomFactor: 1 _haltSerialization: 0 _externalSerializationFile: {fileID: 0} diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 6aadd86..069c544 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -15931,7 +15931,7 @@ MonoBehaviour: m_EditorClassIdentifier: TargetOffset: {x: 0, y: 0, z: 0} TrackerSettings: - BindingMode: 4 + BindingMode: 0 PositionDamping: {x: 0.7, y: 0.2, z: 0.7} AngularDampingMode: 0 RotationDamping: {x: 0, y: 0, z: 0} @@ -65309,8 +65309,8 @@ MonoBehaviour: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},{"valueA":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"valueB":{"_name":"groundMoveDirection","_targetVariableID":"a2c4fe25-9549-4bdd-8cec-2dbfc4a8856f"},"_isDisabled":true,"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"}]},"_onUpdateList":{"executionMode":1,"actions":[]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldExit":true,"_color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"_name":"Grounded","_position":{"x":279.7396,"y":305.6144},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"0"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"groundMoveDirection":{"_name":"groundMoveDirection","_targetVariableID":"a2c4fe25-9549-4bdd-8cec-2dbfc4a8856f"},"$type":"NodeCanvas.Tasks.Actions.CalculateAirMovement"}]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.4980392,"g":1.0,"b":0.9801429,"a":1.0},"_name":"Airborn (Actionable)","_position":{"x":682.0512,"y":-146.5536},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"1"},{"_onEnterList":{"executionMode":1,"actions":[{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"jumpPower":{"_name":"jumpPower","_targetVariableID":"9a82efee-e317-423c-ad6e-5ef7e6145396"},"jumpStrength":{"_value":12.5},"standStillJumpStrength":{},"currentVelocityInheritence":{"_value":0.2},"directionalForce":{"_value":{"y":1.0,"z":0.3}},"directionalForceStrength":{"_value":1.0},"$type":"NodeCanvas.Tasks.Actions.AddJump"},{"valueA":{"_name":"gravityPower","_targetVariableID":"2221dc20-d9b3-4781-bd23-0b2038a7ff5e"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_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":928.3156,"y":-465.0193},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"2"},{"_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},"_position":{"x":477.2476,"y":-488.2733},"$type":"NodeCanvas.StateMachines.ActionState","$id":"3"},{"_onEnterList":{"executionMode":1,"actions":[{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"jumpPower":{"_name":"jumpPower","_targetVariableID":"9a82efee-e317-423c-ad6e-5ef7e6145396"},"jumpStrength":{"_value":16.0},"standStillJumpStrength":{},"currentVelocityInheritence":{},"directionalForce":{"_value":{"x":-1.0,"y":0.1,"z":0.5}},"directionalForceStrength":{"_value":0.888},"$type":"NodeCanvas.Tasks.Actions.AddJump"},{"valueA":{"_name":"gravityPower","_targetVariableID":"2221dc20-d9b3-4781-bd23-0b2038a7ff5e"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_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 - Wall Jump","_position":{"x":285.3196,"y":-670.1414},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"4"},{"_actionList":{"executionMode":1,"actions":[{"raycastHit":{"_name":"_wallJumpHit"},"transform":{},"collider":{},"gameObject":{"_name":""},"distance":{},"normal":{"_name":"_wallJumpHitNormal"},"point":{},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"},{"signalDefinition":{},"argumentsMap":{},"$type":"NodeCanvas.Tasks.Conditions.InvokeSignal"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":296.1901,"y":-286.1208},"$type":"NodeCanvas.StateMachines.ActionState","$id":"5"},{"_onEnterList":{"executionMode":1,"actions":[{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"jumpPower":{"_name":"jumpPower","_targetVariableID":"9a82efee-e317-423c-ad6e-5ef7e6145396"},"jumpStrength":{"_value":16.0},"standStillJumpStrength":{},"currentVelocityInheritence":{"_value":0.3},"directionalForce":{"_value":{"x":1.0,"y":0.1,"z":0.5}},"directionalForceStrength":{"_value":0.839},"$type":"NodeCanvas.Tasks.Actions.AddJump"},{"valueA":{"_name":"gravityPower","_targetVariableID":"2221dc20-d9b3-4781-bd23-0b2038a7ff5e"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_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 + Climb Jump","_position":{"x":928.3156,"y":-465.0193},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"2"},{"_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},"_position":{"x":411.2476,"y":-480.2733},"$type":"NodeCanvas.StateMachines.ActionState","$id":"3"},{"_onEnterList":{"executionMode":1,"actions":[{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"jumpPower":{"_name":"jumpPower","_targetVariableID":"9a82efee-e317-423c-ad6e-5ef7e6145396"},"jumpStrength":{"_value":16.0},"standStillJumpStrength":{},"currentVelocityInheritence":{},"directionalForce":{"_value":{"x":-1.0,"y":0.1,"z":0.5}},"directionalForceStrength":{"_value":0.888},"$type":"NodeCanvas.Tasks.Actions.AddJump"},{"valueA":{"_name":"gravityPower","_targetVariableID":"2221dc20-d9b3-4781-bd23-0b2038a7ff5e"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_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 + Wall Jump","_position":{"x":285.3196,"y":-670.1414},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"4"},{"_actionList":{"executionMode":1,"actions":[{"raycastHit":{"_name":"_wallJumpHit"},"transform":{},"collider":{},"gameObject":{"_name":""},"distance":{},"normal":{"_name":"_wallJumpHitNormal"},"point":{},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"},{"signalDefinition":{},"argumentsMap":{},"$type":"NodeCanvas.Tasks.Conditions.InvokeSignal"}]},"_color":{"r":1.0,"g":0.42,"b":0.32,"a":1.0},"_position":{"x":248.1901,"y":-281.1208},"$type":"NodeCanvas.StateMachines.ActionState","$id":"5"},{"_onEnterList":{"executionMode":1,"actions":[{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"jumpPower":{"_name":"jumpPower","_targetVariableID":"9a82efee-e317-423c-ad6e-5ef7e6145396"},"jumpStrength":{"_value":16.0},"standStillJumpStrength":{},"currentVelocityInheritence":{"_value":0.3},"directionalForce":{"_value":{"x":1.0,"y":0.1,"z":0.5}},"directionalForceStrength":{"_value":0.839},"$type":"NodeCanvas.Tasks.Actions.AddJump"},{"valueA":{"_name":"gravityPower","_targetVariableID":"2221dc20-d9b3-4781-bd23-0b2038a7ff5e"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_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 Wall Jump","_position":{"x":112.6937,"y":-458.72},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"6"},{"_onEnterList":{"executionMode":1,"actions":[{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"jumpPower":{"_name":"jumpPower","_targetVariableID":"9a82efee-e317-423c-ad6e-5ef7e6145396"},"jumpStrength":{"_value":12.0},"standStillJumpStrength":{"_value":1.0},"currentVelocityInheritence":{"_value":1.0},"directionalForce":{},"directionalForceStrength":{},"$type":"NodeCanvas.Tasks.Actions.AddJump"},{"valueA":{"_name":"gravityPower","_targetVariableID":"2221dc20-d9b3-4781-bd23-0b2038a7ff5e"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_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":"Standard Jump","_position":{"x":899.8688,"y":90.13001},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"7"},{"_onEnterList":{"executionMode":1,"actions":[]},"_onUpdateList":{"executionMode":1,"actions":[{"airMoveDirection":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"groundMoveDirection":{"_name":"groundMoveDirection","_targetVariableID":"a2c4fe25-9549-4bdd-8cec-2dbfc4a8856f"},"$type":"NodeCanvas.Tasks.Actions.CalculateAirMovement"}]},"_onExitList":{"executionMode":1,"actions":[]},"foldEnter":true,"foldUpdate":true,"_color":{"r":0.5019608,"g":1.0,"b":0.9803922,"a":1.0},"_name":"Airborn","_position":{"x":105.7695,"y":-10.21167},"$type":"NodeCanvas.StateMachines.SuperActionState","$id":"8"},{"_onEnterList":{"actions":[{"raycastHit":{"_name":"_wallStickHit"},"transform":{},"collider":{},"gameObject":{},"distance":{},"normal":{"_name":"_wallStickHitNormal"},"point":{"_name":"_wallStickHitPoint"},"$type":"NodeCanvas.Tasks.Actions.DecomposeRaycastHit"},{"targetProperty":1,"forcePositionChange":{},"targetValue":{"_value":{"y":-45.0}},"relativeToSelf":{},"relativeValue":{"_name":"_wallStickHitNormal"},"changeInstantly":{"_value":true},"smoothing":{"_value":0.5},"$type":"NodeCanvas.Tasks.Actions.ChangeAgentTransform"},{"valueA":{"_name":"facingDirection","_targetVariableID":"ff039cd9-e306-4c88-84db-54cbd3708ed5"},"valueB":{"_value":3},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[Reset.Player.Movement.PlayerFacingDirection, Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]"},{"valueA":{"_name":"airMoveDirection","_targetVariableID":"2fc91db6-09dd-4a1f-9195-426a0c44de31"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetVector3"},{"valueA":{"_name":"jumpPower","_targetVariableID":"9a82efee-e317-423c-ad6e-5ef7e6145396"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"valueA":{"_name":"rotationSpeed","_targetVariableID":"3a7d1c7c-8fb6-4a99-b25a-b434b62d4611"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetFloat"}]},"_onUpdateList":{"executionMode":1,"actions":[{"valueA":{"_name":"gravityPower","_targetVariableID":"2221dc20-d9b3-4781-bd23-0b2038a7ff5e"},"valueB":{},"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"forcePositionChange":{},"targetValue":{"_value":{"y":-1.0}},"relativeToSelf":{"_value":true},"relativeValue":{},"changeInstantly":{},"smoothing":{"_value":1.0},"$type":"NodeCanvas.Tasks.Actions.ChangeAgentTransform"}]},"_onExitList":{"executionMode":1,"actions":[{"valueA":{"_name":"rotationSpeed","_targetVariableID":"3a7d1c7c-8fb6-4a99-b25a-b434b62d4611"},"valueB":{"_value":10.0},"$type":"NodeCanvas.Tasks.Actions.SetFloat"},{"valueA":{"_name":"facingDirection","_targetVariableID":"ff039cd9-e306-4c88-84db-54cbd3708ed5"},"valueB":{"_value":1},"$type":"NodeCanvas.Tasks.Actions.SetVariable`1[[Reset.Player.Movement.PlayerFacingDirection, @@ -65345,8 +65345,8 @@ MonoBehaviour: _version: 3.31 _category: _comments: - _translation: {x: 304, y: 344} - _zoomFactor: 0.99002564 + _translation: {x: 445, y: 536} + _zoomFactor: 1 _firstActivation: 0 _enableAction: 0 _disableAction: 0 @@ -65371,16 +65371,11 @@ MonoBehaviour: lockOnMaxAngle: 70 mainTargetWeight: 0.15 smoothTime: 4 - lockonGameObject: {fileID: 0} lockonTarget: Object: {fileID: 0} Weight: 1 Radius: 0.5 targetGroup: {fileID: 615613680} - acceptedTargets: - - {fileID: 1505662770} - - {fileID: 1379573502} - - {fileID: 263093399} lockOnDocument: {fileID: 1223043171} --- !u!114 &1992890480 MonoBehaviour: diff --git a/Assets/Scripts/Core/GenericLockOnTarget.cs b/Assets/Scripts/Core/GenericLockOnTarget.cs index ae7a36e..2c011a0 100644 --- a/Assets/Scripts/Core/GenericLockOnTarget.cs +++ b/Assets/Scripts/Core/GenericLockOnTarget.cs @@ -1,14 +1,14 @@ +using System; using UnityEngine; public class GenericLockOnTarget : MonoBehaviour, ILockOnTarget{ public float lockonTargetRadius{ get; set; } = 1f; - - // Start is called once before the first execution of Update after the MonoBehaviour is created - void Start(){ - + + public void OnTargetDelete(){ + GetComponent().SafelyDeleteTarget(); } - void Update(){ - + void OnDestroy(){ + OnTargetDelete(); } } diff --git a/Assets/Scripts/Core/Graph Tasks/ChangeAgentTransform.cs b/Assets/Scripts/Core/Graph Tasks/ChangeAgentTransform.cs index 47e2ab6..1700572 100644 --- a/Assets/Scripts/Core/Graph Tasks/ChangeAgentTransform.cs +++ b/Assets/Scripts/Core/Graph Tasks/ChangeAgentTransform.cs @@ -27,7 +27,7 @@ namespace NodeCanvas.Tasks.Actions { public TransformProperty targetProperty; - [ParadoxNotion.Design.ShowIf("targetProperty", 0), Space(5)] + [ParadoxNotion.Design.ShowIf("targetProperty", 1), Space(5)] public BBParameter forcePositionChange; public BBParameter targetValue; diff --git a/Assets/Scripts/Core/Graph Tasks/ChangeCameraSettings.cs b/Assets/Scripts/Core/Graph Tasks/ChangeCameraSettings.cs index ff957d3..1cbc495 100644 --- a/Assets/Scripts/Core/Graph Tasks/ChangeCameraSettings.cs +++ b/Assets/Scripts/Core/Graph Tasks/ChangeCameraSettings.cs @@ -36,6 +36,7 @@ public enum CameraSettingsToggle{ NoChange, NewValue, ResetValue, + RelativeValue, // Placeholder for using as altering existing value } public interface ICameraValueGroup{ @@ -121,7 +122,7 @@ public class BoolCameraValueGroupDrawer : ObjectDrawer { // 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.ToString(), labelOptions); + GUILayout.Label(_instance.label, labelOptions); GUILayout.BeginHorizontal(); // Create the x settings enum @@ -164,7 +165,7 @@ public class FloatCameraValueGroupDrawer : ObjectDrawer // 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.ToString(), labelOptions); + GUILayout.Label(_instance.label, labelOptions); GUILayout.BeginHorizontal(); // Create the x settings enum @@ -431,7 +432,9 @@ namespace NodeCanvas.Tasks.Actions { UpdateFloatValue(axisLookXGain, ref CameraSettingsProcessor.values.axisLookGainX); UpdateFloatValue(axisLookYGain, ref CameraSettingsProcessor.values.axisLookGainY); - + + UpdateBoolValue(enableXAxis, ref CameraSettingsProcessor.values.axisLookEnabledX); + UpdateBoolValue(enableYAxis, ref CameraSettingsProcessor.values.axisLookEnabledY); EndAction(true); diff --git a/Assets/Scripts/Core/Graph Tasks/CheckGenericObserver.cs b/Assets/Scripts/Core/Graph Tasks/CheckGenericObserver.cs index 43b9b42..86ec20f 100644 --- a/Assets/Scripts/Core/Graph Tasks/CheckGenericObserver.cs +++ b/Assets/Scripts/Core/Graph Tasks/CheckGenericObserver.cs @@ -104,6 +104,9 @@ namespace Reset { observer.DrawObserverGizmo(agent.gameObject, true); } + if (check && !outputHit.isNoneOrNull) { + outputHit.value = observer.hit; + } return check; } } diff --git a/Assets/Scripts/Core/Graph Tasks/DecomposeRaycastHit.cs b/Assets/Scripts/Core/Graph Tasks/DecomposeRaycastHit.cs index 4f0a6c5..2083d93 100644 --- a/Assets/Scripts/Core/Graph Tasks/DecomposeRaycastHit.cs +++ b/Assets/Scripts/Core/Graph Tasks/DecomposeRaycastHit.cs @@ -19,6 +19,11 @@ namespace NodeCanvas.Tasks.Actions { //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 info{ + get{ return $"Decompose RaycastHit {raycastHit}"; } + } + protected override string OnInit() { return null; } diff --git a/Assets/Scripts/Core/Graph Tasks/UpdateObjectCameraTracking.cs b/Assets/Scripts/Core/Graph Tasks/UpdateObjectCameraTracking.cs new file mode 100644 index 0000000..d27c35e --- /dev/null +++ b/Assets/Scripts/Core/Graph Tasks/UpdateObjectCameraTracking.cs @@ -0,0 +1,65 @@ +using NodeCanvas.Framework; +using ParadoxNotion.Design; +using ParadoxNotion.Serialization.FullSerializer; +using UnityEngine; +using Logger = ParadoxNotion.Services.Logger; + +namespace NodeCanvas.Tasks.Actions { + [Category("Reset")] + public class UpdateObjectCameraTracking : ActionTask { + + public BBParameter relatedObject; + + enum CameraTrackingTaskAction{ + AddOrUpdate, + Remove + } + + [ExposeField, fsSerializeAs, Space(5)] + CameraTrackingTaskAction action; + + [ParadoxNotion.Design.ShowIf("action", 0)] + public BBParameter weight; + + [ParadoxNotion.Design.ShowIf("action", 0)] + public BBParameter isMain; + + //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() { + if (relatedObject.isNull) { + Logger.LogError("There is no object for the camera to add to tracking. May have forgotten a reference/object probably destroyed?"); + EndAction(false); + return; + } + + if (action == CameraTrackingTaskAction.AddOrUpdate) { + agent.AddNewTarget(relatedObject.value, weight.value, isMain.value); + } else { + agent.QueueTargetRemoval(relatedObject.value); + } + 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() { + + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Core/Graph Tasks/UpdateObjectCameraTracking.cs.meta b/Assets/Scripts/Core/Graph Tasks/UpdateObjectCameraTracking.cs.meta new file mode 100644 index 0000000..156aaaa --- /dev/null +++ b/Assets/Scripts/Core/Graph Tasks/UpdateObjectCameraTracking.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c187e5f8e4ad16b42b10c10ea9fb8fd4 \ No newline at end of file diff --git a/Assets/Scripts/Core/LockOnManager.cs b/Assets/Scripts/Core/LockOnManager.cs index e94c818..fb6c5ee 100644 --- a/Assets/Scripts/Core/LockOnManager.cs +++ b/Assets/Scripts/Core/LockOnManager.cs @@ -11,12 +11,14 @@ using Vector2 = UnityEngine.Vector2; using Vector3 = UnityEngine.Vector3; public class LockOnManager : MonoBehaviour{ - class ReferencedTarget{ + public class ActiveLockOnTarget{ public GameObject gameObject; public float targetWeight; public float refVelocity; public CinemachineTargetGroup.Target cinemachineTarget; } + + public static LockOnManager Instance; // Lock On settings [Space(5)] public float lockOnRange = 40f; @@ -28,10 +30,9 @@ public class LockOnManager : MonoBehaviour{ [Space(10)] [ShowInInspector] - ReferencedTarget mainTarget; + ActiveLockOnTarget mainTarget; - [ShowInInspector] - List activeTargets = new List(); + public List activeTargets = new List(); [ReadOnly] public CinemachineTargetGroup.Target lockonTarget; public CinemachineTargetGroup targetGroup; @@ -45,11 +46,19 @@ public class LockOnManager : MonoBehaviour{ // Start is called once before the first execution of Update after the MonoBehaviour is created void Start(){ - // Save the player target object to track later + // Register as singleton + if (Instance == null) { + Instance = this; + } else { + this.enabled = false; + return; + } + // Quick check for things in lock-on target that aren't lock-onable if (mainTarget != null && mainTarget.gameObject.GetComponent() == null) { - Debug.LogError($"Game Object {mainTarget.gameObject.name} does not implement the ILockOnTarget interface!"); + mainTarget.gameObject.AddComponent(); + Debug.LogWarning($"The object {mainTarget.gameObject.name} has no ILockOnTarget interface. This isn't hyper critical, but adding one as a GenericLockOnTarget anyways."); } elementRoot = lockOnDocument.rootVisualElement.Query("LockOnGroup"); @@ -67,7 +76,8 @@ public class LockOnManager : MonoBehaviour{ void Update(){ if (mainTarget != null && mainTarget.gameObject.GetComponent() == null) { - Debug.LogError($"Game Object {mainTarget.gameObject.name} does not implement the ILockOnTarget interface!"); + mainTarget.gameObject.AddComponent(); + Debug.LogWarning($"The object {mainTarget.gameObject.name} has no ILockOnTarget interface. This isn't hyper critical, but adding one as a GenericLockOnTarget anyways."); } // Iterate through targets, pushing their Target Group weight towards their goal weight, or removing them if they get too low. @@ -89,7 +99,7 @@ public class LockOnManager : MonoBehaviour{ } } - IEnumerator RemoveFromTargetAtFrameEnd(ReferencedTarget target){ + IEnumerator RemoveFromTargetAtFrameEnd(ActiveLockOnTarget target){ yield return new WaitForEndOfFrame(); activeTargets.Remove(target); @@ -98,7 +108,7 @@ public class LockOnManager : MonoBehaviour{ public void AddNewTarget(GameObject targetObject, float targetWeight, bool isMain = false){ // Check that the target doesn't already exist- if it does, just change it's weight/make it main - foreach (ReferencedTarget target in activeTargets) { + foreach (ActiveLockOnTarget target in activeTargets) { if (target.gameObject == targetObject) { target.targetWeight = targetWeight; @@ -111,7 +121,7 @@ public class LockOnManager : MonoBehaviour{ } // If it doesn't exist in the list of targets, add it - ReferencedTarget newTarget = new ReferencedTarget{ + ActiveLockOnTarget newTarget = new ActiveLockOnTarget{ gameObject = targetObject, targetWeight = mainTargetWeight, cinemachineTarget = new CinemachineTargetGroup.Target{ @@ -131,16 +141,32 @@ public class LockOnManager : MonoBehaviour{ targetGroup.Targets.Add(newTarget.cinemachineTarget); } - public void QueueTargetRemoval(GameObject targetObject){ + public void QueueTargetRemoval(GameObject targetObject, bool deleteAfterRemoved = false){ // Ostensibly removes targest by setting their target weight to 0. Update loop finds targets with no weight and reduces their impact on the camera // After it smooths their current weight to 0, it removes them activeTargets.Find(target => target.gameObject == targetObject).targetWeight = 0f; + if (deleteAfterRemoved) { + StartCoroutine(DeleteGameObjectPostRemoval(targetObject)); + } + // Remove as main target if it is if (mainTarget == activeTargets.Find(target => target.gameObject == targetObject)) { mainTarget = null; } } + + IEnumerator DeleteGameObjectPostRemoval(GameObject targetObject){ + ActiveLockOnTarget thisTarget = activeTargets.Find(target => target.gameObject == targetObject); + + yield return new WaitForEndOfFrame(); + + while (activeTargets.Contains(thisTarget)) { + yield return null; + } + + Destroy(thisTarget.gameObject); + } public void ChangeLockOnTarget(){ Transform cameraTransform = Camera.main.transform; @@ -203,7 +229,8 @@ public class LockOnManager : MonoBehaviour{ AddNewTarget(closestTarget.gameObject, mainTargetWeight, true); } - public void RemoveLockOnTarget(){ + // Used by outside sources such as input to cancel lock-on. + public void RemoveMainTarget(){ QueueTargetRemoval(mainTarget.gameObject); } diff --git a/Assets/Scripts/Player/CameraSettingsProcessor.cs b/Assets/Scripts/Player/CameraSettingsProcessor.cs index 6c5a50b..c942e0f 100644 --- a/Assets/Scripts/Player/CameraSettingsProcessor.cs +++ b/Assets/Scripts/Player/CameraSettingsProcessor.cs @@ -11,7 +11,7 @@ public struct CameraSettingSingleValue{ public Vector2 velocityRefV2; public Vector3 velocityRefV3; - public CameraSettingSingleValue(float defaultSmoothing, T original = default(T)){ + public CameraSettingSingleValue(float defaultSmoothing = .2f, T original = default(T)){ originalValue = original; targetValue = original; smoothing = defaultSmoothing; @@ -106,11 +106,12 @@ public class CameraSettingsProcessor : MonoBehaviour{ values = new CameraSettingValues{ cameraOffsetOffset = new CameraSettingSingleValue(defaultSmoothing: .2f, offset.Offset), mainFieldOfView = new CameraSettingSingleValue(defaultSmoothing: .2f, main.Lens.FieldOfView), - axisLookEnabledX = new CameraSettingSingleValue(0f, axisCont.Controllers[0].Enabled), - axisLookEnabledY = new CameraSettingSingleValue(0f, axisCont.Controllers[1].Enabled), + axisLookEnabledX = new CameraSettingSingleValue(0, axisCont.Controllers[0].Enabled), + axisLookEnabledY = new CameraSettingSingleValue(0, axisCont.Controllers[1].Enabled), axisLookGainX = new CameraSettingSingleValue(defaultSmoothing: .2f, axisCont.Controllers[0].Input.Gain), axisLookGainY = new CameraSettingSingleValue(defaultSmoothing: .2f, axisCont.Controllers[1].Input.Gain), orbitPositionDamping = new CameraSettingSingleValue(defaultSmoothing: .2f, orbit.TrackerSettings.PositionDamping), + orbitTargetOffset = new CameraSettingSingleValue(defaultSmoothing: .1f, orbit.TargetOffset), orbitFollowTopHeight = new CameraSettingSingleValue(defaultSmoothing: .2f, orbit.Orbits.Top.Height), orbitFollowTopRadius = new CameraSettingSingleValue(defaultSmoothing: .2f, orbit.Orbits.Top.Radius), orbitFollowCenterHeight = new CameraSettingSingleValue(defaultSmoothing: .2f, orbit.Orbits.Center.Height), diff --git a/Assets/Scripts/Player/PlayerCamera.cs b/Assets/Scripts/Player/PlayerCamera.cs index 363ee27..472c490 100644 --- a/Assets/Scripts/Player/PlayerCamera.cs +++ b/Assets/Scripts/Player/PlayerCamera.cs @@ -6,14 +6,44 @@ public interface ILockOnTarget { Transform transform {get;} GameObject gameObject{ get; } + + abstract void OnTargetDelete(); + + void Help(){ + SafelyDeleteTarget(); + } public Vector3 GetReticlePosition(){ - Bounds objectBounds = gameObject.GetComponent().bounds; + float upValue = 0f; + + if (gameObject.GetComponent()){ + Bounds objectBounds = gameObject.GetComponent().bounds; + upValue = objectBounds.size.y; + } - Vector3 reticlePosition = new Vector3(transform.position.x, transform.position.y + objectBounds.size.y, transform.position.z); + Vector3 reticlePosition = new Vector3(transform.position.x, transform.position.y + upValue, transform.position.z); return reticlePosition; } + + public void OnEnable(){ + Debug.Log("hewwo"); + } + + public void SafelyDeleteTarget(){ + // gameObject. + foreach (LockOnManager.ActiveLockOnTarget target in LockOnManager.Instance.activeTargets) { + if (target.gameObject == this.gameObject) { + GameObject clone = new GameObject{name = $"Target Clone of {gameObject.name}", transform = { position = transform.position}}; + Debug.Log("hii"); + + target.gameObject = clone; + target.cinemachineTarget.Object = clone.transform; + + LockOnManager.Instance.QueueTargetRemoval(clone, true); + } + } + } } public class PlayerCamera : MonoBehaviour{ diff --git a/Assets/Scripts/Player/PlayerControls.cs b/Assets/Scripts/Player/PlayerControls.cs index ad63d8c..075df51 100644 --- a/Assets/Scripts/Player/PlayerControls.cs +++ b/Assets/Scripts/Player/PlayerControls.cs @@ -76,7 +76,7 @@ public class PlayerControls : MonoBehaviour{ } public void OnCancelLockOn(){ - GetComponent().RemoveLockOnTarget(); + GetComponent().RemoveMainTarget(); graph.SendEvent("InputEvent", "CancelLockOn", null); }