public void ResetHorizontalSpeed() { ActMoveH ability = AbilityList[typeof(ActMoveH)] as ActMoveH; if (ability != null) { ability.ResetHorizontalSpeed(); } }
private void RegisterAbility() { { ActAbility ability = new ActMoveH(); ability.Initialization(this); AbilityList.Add(typeof(ActMoveH), ability); } { ActAbility ability = new ActClimbing(); ability.Initialization(this); AbilityList.Add(typeof(ActClimbing), ability); } { ActAbility ability = new ActJump(); ability.Initialization(this); AbilityList.Add(typeof(ActJump), ability); } { ActAbility ability = new ActDash(); ability.Initialization(this); AbilityList.Add(typeof(ActDash), ability); } { ActAbility ability = new ActCrouch(); ability.Initialization(this); AbilityList.Add(typeof(ActCrouch), ability); } { ActAbility ability = new ActWallCling(); ability.Initialization(this); AbilityList.Add(typeof(ActWallCling), ability); } { ActAbility ability = new ActWallJump(); ability.Initialization(this); AbilityList.Add(typeof(ActWallJump), ability); } { ActAbility ability = new ActGrip(); ability.Initialization(this); AbilityList.Add(typeof(ActGrip), ability); } }
protected virtual void Crouch() { if (!AbilityInitialized || (_condition.CurrentState != CharacterStates.CharacterConditions.Normal) || (!_platformer.NormalState.IsGrounded) || (_movement.CurrentState == CharacterStates.MovementStates.Gripping)) { return; } if ((_movement.CurrentState != CharacterStates.MovementStates.Crouching) && (_movement.CurrentState != CharacterStates.MovementStates.Crawling)) { } _movement.ChangeState(CharacterStates.MovementStates.Crouching); if ((Mathf.Abs(_horizontalInput) > 0) && (CrawlAuthorized)) { _movement.ChangeState(CharacterStates.MovementStates.Crawling); } if (ResizeColliderWhenCrouch) { //resize } if (_character.GetAbility(typeof(ActMoveH)) != null) { ActMoveH a = _character.GetAbility(typeof(ActMoveH)) as ActMoveH; a.MovementSpeed = CrawlSpeed; } if (!CrawlAuthorized) { ActMoveH a = _character.GetAbility(typeof(ActMoveH)) as ActMoveH; a.MovementSpeed = 0f; } //if(_sceneCamera != null) //{ // _sceneCamera.LookDown(); //} }
protected virtual void ExitCrouch() { InTunnel = !_platformer.CanGoBackToOriginalSize(); if (!InTunnel) { if (_character.GetAbility(typeof(ActMoveH)) != null) { ActMoveH a = _character.GetAbility(typeof(ActMoveH)) as ActMoveH; a.ResetHorizontalSpeed(); } //if() _movement.ChangeState(CharacterStates.MovementStates.Idle); _platformer.ResetColliderSize(); NeedRecalculateRays = true; CalculateNum = 10; //Invoke("RecalculateRays",0.1f); } }