예제 #1
0
 public override void HandleInputs(IInput input)
 {
     if (input.WeakAttackButton.IsPressDown)
     {
         if (groundCheck.IsInCollision)
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerAttackWeakGround);
         }
         else
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerAttackWeakAir);
         }
     }
     else if (input.HeavyAttackButton.IsPressDown)
     {
         if (groundCheck.IsInCollision)
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerAttackHeavyGround);
         }
         else
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerAttackHeavyAir);
         }
     }
     if (input.JumpButton.IsPressDown && (groundCheck.IsInCollision || playerStatus.IsAirJumpAvailable))
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerJump);
     }
 }
예제 #2
0
 public override void Update(IInput input, float deltaTime)
 {
     base.Update(input, deltaTime);
     if (!wallFrontCheck.IsInCollision)
     {
         if (groundCheck.IsInCollision)
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerGround);
         }
         else
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerAir);
         }
     }
     else
     if (Mathf.RoundToInt(input.Horizontal) == playerDirection.CurrentDirectionX * -1)
     {
         playerMovement.Move(Vector2.right * input.Horizontal * 0.15f / 4);
         if (groundCheck.IsInCollision)
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerGround);
         }
         else
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerAir);
         }
     }
     else
     {
         HandleInputs(input);
     }
 }
예제 #3
0
 public override void HandleInputs(IInput input)
 {
     if (input.DashButton.IsPressDown)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerWallDash);
     }
 }
 public override void Update(IInput input, float deltaTime)
 {
     if (groundCheck.IsInCollision)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerGround);
     }
     HandleInputs(input);
 }
 public override void HandleInputs(IInput input)
 {
     if (input.WeakAttackButton.IsPressDown)
     {
         requestNextAttack           = true;
         lastTimeAttackButtonPressed = 0;
     }
     if (input.JumpButton.IsPressDown)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerJump);
     }
 }
예제 #6
0
 public override void Update(IInput input, float deltaTime)
 {
     if (groundCheck.IsInCollision && rigidbody.velocity.y <= 0)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerGround);
     }
     if (wallFrontCheck.IsInCollision)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerWall);
     }
     HandleInputs(input);
 }
예제 #7
0
 public override void Update(IInput input, float deltaTime)
 {
     if (rigidbody.velocity.y != 0)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAir);
     }
     else
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerGround);
     }
     HandleInputs(input);
 }
 public override void Update(IInput input, float deltaTime)
 {
     lastTimeAttackButtonPressed += deltaTime;
     if (lastTimeAttackButtonPressed > maxTimeBetweenAttacks)
     {
         requestNextAttack = false;
     }
     if (groundCheck.IsInCollision)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerGround);
     }
     HandleInputs(input);
 }
 public void EndAttack()
 {
     if (!requestNextAttack && isThisStateActive)
     {
         if (groundCheck.IsInCollision)
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerGround);
         }
         else
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerAir);
         }
     }
 }
예제 #10
0
 public void EndAttack()
 {
     if (isThisStateActive)
     {
         Debug.Log("aqui");
         if (groundCheck.IsInCollision)
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerGround);
         }
         else
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerAir);
         }
     }
 }
 public override void HandleInputs(IInput input)
 {
     if (input.WeakAttackButton.IsPressDown)
     {
         requestNextAttack           = true;
         lastTimeAttackButtonPressed = 0;
     }
     if (input.JumpButton.IsPressDown && playerStatus.IsAirJumpAvailable)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerJump);
     }
     if (input.DashButton.IsPressDown && playerStatus.IsAirDashAvailable)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAirDash);
     }
 }
예제 #12
0
 public override void HandleInputs(IInput input)
 {
     if (input.DashButton.IsPressDown && playerStatus.IsAirDashAvailable)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAirDash);
     }
     else if (input.WeakAttackButton.IsPressDown)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAttackWeakAir);
     }
     else if (input.HeavyAttackButton.IsPressDown)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAttackHeavyAir);
     }
     else if (input.JumpButton.IsPressDown && playerStatus.IsAirJumpAvailable)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerJump);
     }
 }
예제 #13
0
 public override void Update(IInput input, float deltaTime)
 {
     if (groundCheck.CurrentCollisionCollider)
     {
         if (collider.IsTouching(groundCheck.CurrentCollisionCollider))
         {
             rigidbody.velocity = Vector2.zero;
         }
         else
         {
             rigidbody.velocity = Vector2.down * 5;
         }
     }
     if (!groundCheck.IsInCollision)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAir);
     }
     HandleInputs(input);
 }
예제 #14
0
 public override void Update(IInput input, float deltaTime)
 {
     if (timePassed >= playerStatus.DashTime)
     {
         if (groundCheck.IsInCollision)
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerGround);
         }
         else
         {
             MyStateMachine.ChangeState(MyStateMachine.PlayerAir);
         }
     }
     if (wallFrontCheck.IsInCollision)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerWall);
     }
     HandleInputs(input);
 }
예제 #15
0
 public override void HandleInputs(IInput input)
 {
     if (input.DashButton.IsPressDown)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerGroundDash);
     }
     else if (input.JumpButton.IsPressDown)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerJump);
     }
     else if (input.HeavyAttackButton.IsPressDown)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAttackHeavyGround);
     }
     else if (input.WeakAttackButton.IsPressDown)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAttackWeakGround);
     }
 }
예제 #16
0
 public override void Update(IInput input, float deltaTime)
 {
     if (groundCheck.IsReallyInCollision)
     {
         rigidbody.velocity = Vector2.zero;
     }
     else
     {
         rigidbody.velocity = Vector2.down * 5;
     }
     if (!groundCheck.IsInCollision)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAir);
     }
     HandleInputs(input);
     if (wallFrontCheck.IsInCollision)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerWall);
     }
 }
 public override void Update(IInput input, float deltaTime)
 {
     if (groundCheck.CurrentCollisionCollider)
     {
         if (collider.IsTouching(groundCheck.CurrentCollisionCollider))
         {
             rigidbody.velocity = Vector2.zero;
         }
         else
         {
             rigidbody.velocity = Vector2.down * 5;
         }
     }
     lastTimeAttackButtonPressed += deltaTime;
     if (lastTimeAttackButtonPressed > maxTimeBetweenAttacks)
     {
         requestNextAttack = false;
     }
     if (!groundCheck.IsInCollision)
     {
         MyStateMachine.ChangeState(MyStateMachine.PlayerAir);
     }
     HandleInputs(input);
 }