private void SetMove(DirectionType direction, ClimbType climbType) { if ((CurrentMove.Direction == direction) && (CurrentMove.Climb == climbType)) { return; } Vector3 tempVector = PreviousVector; PreviousVector = CurrentVector; CurrentVector = ConvertForClimbing(Direction.ConvertDirectionToVector(direction, tempVector)); PreviousMove = CurrentMove; CurrentMove = new ClimbMove(direction, climbType); UpdateAnimation(climbType); }
// Use this for initialization void Start() { GameObject playerCharacter = GameObject.FindWithTag("PlayerCharacter") as GameObject; if (null != playerCharacter) { _anim = playerCharacter.GetComponent <Animator>(); } if (null != playerCharacter) { _movementTransitionManagerScript = playerCharacter.GetComponent <MovementTransitionManager>(); } if (null != playerCharacter) { _rigidBody = playerCharacter.GetComponent <Rigidbody>(); } GameObject climbPad = GameObject.FindWithTag("ClimbPad") as GameObject; if (null != climbPad) { _climbPadScript = climbPad.GetComponent <ClimbPad>(); } if (null != climbPad) { _keyboardScript = climbPad.GetComponent <Keyboard>(); } _climbingPanel = GameObject.FindWithTag("ClimbingPanel") as GameObject; if (null == _anim) { Debug.LogError("ClimbMovementModule.Start: _anim is null."); } if (null == _movementTransitionManagerScript) { Debug.LogError("ClimbMovementModule.Start: _movementTransitionManagerScript is null."); } if (null == _rigidBody) { Debug.LogError("ClimbMovementModule.Start: _rigidBody is null."); } if (null == _climbPadScript) { Debug.LogError("ClimbMovementModule.Start: _climbPadScript is null."); } if (null == _climbingPanel) { Debug.LogError("ClimbMovementModule.Start: _climbingPanel is null."); } if (null == _keyboardScript) { Debug.LogError("ClimbMovementModule.Start: _keyboardScript is null."); } if (null == _anim) { return; } if (null == _movementTransitionManagerScript) { return; } if (null == _rigidBody) { return; } if (null == _climbPadScript) { return; } if (null == _climbingPanel) { return; } if (null == _keyboardScript) { return; } CurrentMove = new ClimbMove(DirectionType.None, ClimbType.None); CurrentVector = ConvertForClimbing(Direction.ConvertDirectionToVector(DirectionType.None, Vector3.zero)); PreviousMove = new ClimbMove(DirectionType.None, ClimbType.None); PreviousVector = ConvertForClimbing(Direction.ConvertDirectionToVector(DirectionType.None, Vector3.zero)); Speed = 0.0f; _moduleActive = false; _movementTransitionManagerScript.Register(this); _climbPadScript.HideClimbingUI(); }