Ejemplo n.º 1
0
        public void Update()
        {
            switch (state)
            {
            case State.Play:

                //HPが0になったら爆発
                if (HP <= 0)
                {
                    state = State.Dead;
                }

                break;

            case State.Attacked:

                //物理演算処理との時間差を吸収できていれば
                if (timeFixFlagOnPanched)
                {
                    //爆発に巻き込まれてHPが無くなったらその場で爆発
                    if (exprDamageTrigger && HP <= 0)
                    {
                        DeadOnExpr();
                    }

                    //吹き飛びの速度が一定以下になった
                    if (rigidbody2D.velocity.magnitude < Vector2.one.magnitude)
                    {
                        if (HP <= 0)
                        {
                            DeadOnExpr();
                        }
                        state = State.Play;
                        timeFixFlagOnPanched = false;
                    }

                    //animator.SetTrigger("Damaged");
                    animationMove.SetTrigger("Damaged");
                }

                break;

            case State.Dead:
                DeadOnExpr();

                break;

            default:
                state = State.Play;
                break;
            }
        }