public override void Enter(CrushroomStateInput stateInput, CharacterStateTransitionInfo transitionInfo = null)
 {
     stateInput.crushroomManager = stateInput.crushroom.GetComponent <CrushroomManager>();
     stateInput.crushroom.GetComponent <Rigidbody2D>().bodyType     = RigidbodyType2D.Dynamic;
     stateInput.crushroom.GetComponent <Rigidbody2D>().gravityScale = 2f;
     falling = true;
 }
Пример #2
0
 public override void Enter(CrushroomStateInput stateInput, CharacterStateTransitionInfo transitionInfo = null)
 {
     stateInput.crushroomManager = stateInput.crushroom.GetComponent <CrushroomManager>();
     originalY = stateInput.crushroomManager.GetOriginalY();
     stateInput.anim.SetBool("landed", false);
     stateInput.anim.Play("crushroom_retreat");
 }
Пример #3
0
 public override void Update(CrushroomStateInput stateInput)
 {
     // stateInput.enemy_controller.TurnToFacePlayer(stateInput.player.transform.position);
     if (stateInput.player.transform.position.x >= leftX && stateInput.player.transform.position.x <= rightX)
     {
         character.ChangeState <CrushroomFallDownState>();
     }
 }
Пример #4
0
 public override void Enter(CrushroomStateInput stateInput, CharacterStateTransitionInfo transitionInfo = null)
 {
     stateInput.crushroomManager          = stateInput.crushroom.GetComponent <CrushroomManager>();
     stateInput.rb.bodyType               = RigidbodyType2D.Dynamic;
     stateInput.rb.gravityScale           = 2f;
     stateInput.rb.collisionDetectionMode = CollisionDetectionMode2D.Continuous;
     stateInput.anim.Play("crushroom_attack");
     falling = true;
 }
Пример #5
0
    public override void Enter(CrushroomStateInput stateInput, CharacterStateTransitionInfo transitionInfo = null)
    {
        // base.Enter(stateInput, transitionInfo);
        // stateInput.anim.Play("Enemy_Idle");

        width  = stateInput.crushroom.GetComponent <SpriteRenderer>().bounds.size.x;
        leftX  = stateInput.crushroom.transform.position.x - (width / 2);
        rightX = stateInput.crushroom.transform.position.x + (width / 2);
    }
Пример #6
0
 public override void Update(CrushroomStateInput stateInput)
 {
     if (stateInput.crushroom.transform.position.y <= originalY)
     {
         stateInput.crushroom.transform.Translate(0f, 0.045f, 0f);
     }
     else
     {
         character.ChangeState <CrushroomIdleState>();
     }
 }
Пример #7
0
    public override void Update(CrushroomStateInput stateInput)
    {
        RaycastHit2D hit = Physics2D.Raycast(stateInput.gameobj.transform.position, -stateInput.gameobj.transform.up, 20f, ~stateInput.crushroom.layermask);

        // stateInput.enemy_controller.TurnToFacePlayer(stateInput.player.transform.position);
        if (hit)
        {
            if (hit.collider.gameObject.layer == 8)
            {
                character.ChangeState <CrushroomFallDownState>();
            }
        }
    }
 public override void Update(CrushroomStateInput stateInput)
 {
     if (stateInput.crushroom.GetComponent <Rigidbody2D>().IsSleeping() && falling)  // if the crushroom hits the ground
     {
         falling = false;
         stateInput.crushroom.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;
         stateInput.crushroomManager.StartWaitOnGround();
     }
     if (stateInput.crushroomManager.IsDoneWaiting())
     {
         stateInput.crushroomManager.SetWaitStatus(false);
         character.ChangeState <CrushroomRiseUpState>();
     }
 }
Пример #9
0
 public override void Update(CrushroomStateInput stateInput)
 {
     // stateInput.anim.SetFloat("speed", stateInput.rb.velocity.y);
     if (stateInput.rb.IsTouchingLayers(1 << 9) && falling)   // if the crushroom hits the ground
     {
         Debug.Log("Landed!");
         CamController.Instance.Shake(5, 0.3f);
         stateInput.anim.Play("crushroom_land");
         falling = false;
         stateInput.rb.bodyType = RigidbodyType2D.Static;
         stateInput.crushroomManager.StartWaitOnGround();
     }
     if (stateInput.crushroomManager.IsDoneWaiting())
     {
         stateInput.crushroomManager.SetWaitStatus(false);
         character.ChangeState <CrushroomRiseUpState>();
     }
 }
Пример #10
0
 public override void Enter(CrushroomStateInput stateInput, CharacterStateTransitionInfo transitionInfo = null)
 {
     stateInput.crushroomManager = stateInput.crushroom.GetComponent <CrushroomManager>();
     originalY = stateInput.crushroomManager.GetOriginalY();
 }