Esempio n. 1
0
    void Update()
    {
        if (nextMoove == Moove.Defend)
        {
            Invoke("Defend", Random.Range(timeMin, timeMax));
            nextMoove = Moove.IDLE;
        }
        else if (nextMoove == Moove.Attack)
        {
            Invoke("Attack", Random.Range(timeMin, timeMax));
            nextMoove = Moove.IDLE;
        }

        if (activateShield && shieldValue < 1)
        {
            shieldValue += Time.deltaTime / shieldTime;
        }
        else if (shieldValue > 0)
        {
            shieldValue -= Time.deltaTime / shieldTime;
        }

        brain.SetShield(shieldValue);

        FollowTarget();
    }
Esempio n. 2
0
    static Moove GetRandomMoove()
    {
        System.Array A = System.Enum.GetValues(typeof(Moove));
        Moove        V = (Moove)A.GetValue(UnityEngine.Random.Range(1, A.Length));

        return(V);
    }
Esempio n. 3
0
    void Start()
    {
        nextMoove = GetRandomMoove();
        brain     = GetComponent <Brain>();
        ownRb     = GetComponent <Rigidbody>();

        SetNewDirection();
    }
Esempio n. 4
0
    public void Attack()
    {
        brain.SetFocusValue(shotPower);

        if (NewTargetOnFire)
        {
            oldCible = cible;
            cible    = null;
        }

        nextMoove = GetRandomMoove();
    }
Esempio n. 5
0
 void CancelDefend()
 {
     activateShield = false;
     nextMoove      = GetRandomMoove();
 }
Esempio n. 6
0
 public Moove Go; // обратный вызов для движения приведений, меняем указатели на методы по ходу игры
 public void INeedRoute(Moove method)
 {
     Go = new Moove(method);
 }