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(); }
static Moove GetRandomMoove() { System.Array A = System.Enum.GetValues(typeof(Moove)); Moove V = (Moove)A.GetValue(UnityEngine.Random.Range(1, A.Length)); return(V); }
void Start() { nextMoove = GetRandomMoove(); brain = GetComponent <Brain>(); ownRb = GetComponent <Rigidbody>(); SetNewDirection(); }
public void Attack() { brain.SetFocusValue(shotPower); if (NewTargetOnFire) { oldCible = cible; cible = null; } nextMoove = GetRandomMoove(); }
void CancelDefend() { activateShield = false; nextMoove = GetRandomMoove(); }
public Moove Go; // обратный вызов для движения приведений, меняем указатели на методы по ходу игры public void INeedRoute(Moove method) { Go = new Moove(method); }