private void Idle_Update(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     if (!Movement.IsOnGround)
     {
         FSM.ChangeState("Jump");
     }
     else if (RB.velocity.sqrMagnitude > 0.01f)
     {
         FSM.ChangeState("Run");
     }
     else
     {
         Vector3 facing    = Movement.GetFacing();
         float   faceFloat = Mathf.Atan2(facing.x, facing.z) * OneOverPI;
         if (faceFloat > -0.2f && faceFloat < 0.2f)
         {
             FSM.ChangeSubstate("IdleForward");
         }
         else if (faceFloat > 0.3f && faceFloat < 0.7f)
         {
             FSM.ChangeSubstate("IdleRight");
         }
         else if (faceFloat < -0.3f && faceFloat > -0.7f)
         {
             FSM.ChangeSubstate("IdleLeft");
         }
         else if (Mathf.Abs(faceFloat) > 0.8f)
         {
             FSM.ChangeSubstate("IdleBack");
         }
     }
 }
    private void Jump_Update(FSM <MSV_Actor> fsm, MSV_Actor parent)
    {
        float upFactor = -RB.velocity.y * 0.333f * 0.5f + 0.5f;

        //Debug.Break();
        Debug.Log(RB.velocity.y + " " + upFactor);
        if (Movement.IsOnGround)
        {
            FSM.ChangeState("Idle");
        }
        Anim.SetTime01("sideJump", upFactor);
    }
 private void RunLeft_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     SpriteRend.flipX = true;
     Anim.Play("runSide");
 }
 private void RunForward_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Anim.Play("runForward");
 }
 private void IdleRight_Enter(FSM <MSV_Actor> actor, MSV_Actor parent)
 {
     Anim.Play("idleSide");
 }
 private void SubTest_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("SubTest_Enter");
     fsm.ChangeSubstate("Foo");
 }
 private void RunBack_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Anim.Play("runBack");
 }
 private void Run_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("Run_Enter");
 }
 private void Run_Update(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("Run_Update " + parent.name);
     fsm.ChangeState("FooBar");
 }
 private void Idle_Update(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("Idle_Update " + parent.name);
     fsm.ChangeState("Run");
 }
 private void Idle_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("Idle_Exit");
 }
 private void Idle_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("Idle_Enter");
 }
 private void SubTest_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("SubTest_Exit");
 }
 private void SubTest_Update(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("SubTest_Update " + parent.name);
 }
 private void RunLeft_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     SpriteRend.flipX = false;
 }
 private void IdleForward_Enter(FSM <MSV_Actor> actor, MSV_Actor parent)
 {
     Anim.Play("idleForward");
 }
 private void RunRight_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Anim.Play("runSide");
 }
 private void IdleBack_Enter(FSM <MSV_Actor> actor, MSV_Actor parent)
 {
     Anim.Play("idleBack");
 }
 private void Jump_Enter(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("enter jump");
     Anim.Play("sideJump");
     Anim.PauseAnim("sideJump");
 }
 private void IdleLeft_Enter(FSM <MSV_Actor> actor, MSV_Actor parent)
 {
     SpriteRend.flipX = true;
     Anim.Play("idleSide");
 }
 private void Jump_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("exit jump");
 }
 private void IdleLeft_Exit(FSM <MSV_Actor> actor, MSV_Actor parent)
 {
     SpriteRend.flipX = false;
 }
Exemple #23
0
 //public MSV_Actor ParentActor {
 //    get {
 //        return _ParentActor;
 //    }
 //    set {
 //        _ParentActor = ParentActor;
 //    }
 //}
 public void SetParentActor(MSV_Actor actor)
 {
     _ParentActor = actor;
 }
 private void Bar_Exit(FSM <MSV_Actor> fsm, MSV_Actor parent)
 {
     Debug.Log("Bar_Exit");
 }