protected virtual void Atakuj()
    {
        if (cel != null)
        {
            nawigacja.velocity = Vector3.zero;
            transform.LookAt(cel);

            float dystans = Vector3.Magnitude(nawigacja.destination - transform.position);

            if (dystans <= odlegloscDoAtaku)
            {
                if ((czasAtaku -= Time.deltaTime) <= 0)
                {
                    Atak();
                }
            }
            else
            {
                polecenie = Polecenie.gon;
            }
        }
        else
        {
            polecenie = Polecenie.spocznij;
        }
    }
    protected virtual void Idz()
    {
        float dystans = Vector3.Magnitude(nawigacja.destination - transform.position);

        if (dystans <= stop)
        {
            polecenie = Polecenie.spocznij;
        }
    }
 protected virtual void Sledz()
 {
     if (cel != null)
     {
         nawigacja.SetDestination(cel.position);
     }
     else
     {
         polecenie = Polecenie.spocznij;
     }
 }
Esempio n. 4
0
    public SuperPilot()
    {
        poleceniaWłącz  = new Polecenie[7];
        poleceniaWyłącz = new Polecenie[7];
        Polecenie brakPolecenia = new BrakPolecenia();

        for (int i = 0; i < 7; i++)
        {
            poleceniaWłącz[i]  = brakPolecenia;
            poleceniaWyłącz[i] = brakPolecenia;
        }
        polecenieWycofaj = brakPolecenia;
    }
    public virtual void Atak()
    {
        Jednostka jednostka = cel.GetComponent <Jednostka>();

        if (jednostka && jednostka.CzyZyje)
        {
            OdtwarzaczOdglosow.PlaySound("brzdek" + generatorBrzdekuMiecza);
            animator.SetTrigger(WALKA);
            czasAtaku = szybkoscAtaku;
        }
        else
        {
            cel       = null;
            polecenie = Polecenie.spocznij;
        }
    }
    protected virtual void Gon()
    {
        if (cel != null)
        {
            nawigacja.SetDestination(cel.position);

            float dystans = Vector3.Magnitude(nawigacja.destination - transform.position);

            if (dystans <= odlegloscDoAtaku)
            {
                polecenie = Polecenie.atakuj;
            }
        }
        else
        {
            polecenie = Polecenie.spocznij;
        }
    }
Esempio n. 7
0
 public void wciśniętoPrzyciskWyłącz(int slot)
 {
     poleceniaWyłącz[slot].wykonaj();
     polecenieWycofaj = poleceniaWyłącz[slot];
 }
Esempio n. 8
0
 public void ustawPolecenie(int slot, Polecenie włącz, Polecenie wyłącz)
 {
     poleceniaWłącz[slot]  = włącz;
     poleceniaWyłącz[slot] = wyłącz;
 }