コード例 #1
0
    void Update()
    {
        GuardMushroom.TurnToDestination();
        GuardMushroom.GoToPullPush();
        GuardMushroom.NowisHit();
        GuardMushroom.PlayerisDead();
        GuardMushroom.QueenisADead();

        if (GuardMushroom.GetDistanceFromPlayer() < GuardMushroom.MStat.AttackDistance && GuardMushroom.AttackTimer > GuardMushroom.AttackDelay)
        {
            GuardMushroom.SetState(GuardMushroomState.Attack);
            return;
        }

        if (GuardMushroom.GetDistanceFromPlayer() < GuardMushroom.MStat.ChaseDistance && GuardMushroom.GetDistanceFromPlayer() > GuardMushroom.MStat.AttackDistance)
        {
            GuardMushroom.SetState(GuardMushroomState.Chase);
            return;
        }
    }
コード例 #2
0
    /*GuardMushroom.MoveToDestination();
     * transform.position = new Vector3(GuardMushroom.GoHomePositionX,GuardMushroom.GoHomePositionY, GuardMushroom.GoHomePositionZ);
     *
     * GuardMushroom.MoveToTarget(new Vector3(GuardMushroom.GoHomePositionX,
     * GuardMushroom.GoHomePositionY, GuardMushroom.GoHomePositionZ));*/

    void Update()
    {
        if (GuardMushroom.GetDistanceFromPlayer() > GuardMushroom.MStat.ChaseDistance)
        {
            GuardMushroom.GoToDestination(GuardMushroom.HomePosition, GuardMushroom.MStat.MoveSpeed, GuardMushroom.rotAnglePerSecond);

            if (Vector3.Distance(transform.position, new Vector3(GuardMushroom.GoHomePositionX,
                                                                 GuardMushroom.GoHomePositionY, GuardMushroom.GoHomePositionZ)) <= 2.0f)
            {
                GuardMushroom.SetState(GuardMushroomState.Idle);
                return;
            }
        }

        else
        {
            GuardMushroom.SetState(GuardMushroomState.Return);
            return;
        }
    }
コード例 #3
0
    void Update()
    {
        if (GuardMushroom.GetDistanceFromPlayer() < GuardMushroom.MStat.ChaseDistance && GuardMushroom.GetDistanceFromPlayer() > GuardMushroom.MStat.AttackDistance)
        {
            GuardMushroom.GoToDestination(GuardMushroom.Player.position, GuardMushroom.MStat.MoveSpeed, GuardMushroom.rotAnglePerSecond);
        }

        if (GuardMushroom.GetDistanceFromPlayer() < GuardMushroom.MStat.AttackDistance)
        {
            if (GuardMushroom.attackTimer > GuardMushroom.attackDelay)
            {
                GuardMushroom.SetState(GuardMushroomState.Attack);
                return;
            }
        }

        else
        {
            GuardMushroom.SetState(GuardMushroomState.Return);
            return;
        }
    }