2 using System.Collections.Generic;
13 private Timer changeDirectionTimer;
14 private Angle currentDirection;
21 get {
return changeDirectionTimer.
Interval; }
22 set { changeDirectionTimer.
Interval = value; }
41 changeDirectionTimer =
new Timer();
42 changeDirectionTimer.
Timeout += ChangeDirection;
60 changeDirectionTimer.
Start();
62 base.OnAdd( newOwner );
67 changeDirectionTimer.
Stop();
68 base.OnRemove( prevOwner );
71 void ChangeDirection()
88 base.OnCollision( target );
100 currentDirection = d.
Angle;
103 Move( currentDirection );
double Interval
Aika sekunneissa, jonka välein TimeOut tapahtuu.
double Magnitude
Vektorin pituus.
Angle Angle
Kulma radiaaneina.
void Stop()
Pysäyttää ajastimen ja nollaa sen tilan.
override void OnCollision(IGameObject target)
Kutsutaan, kun tapahtuu törmäys.
Action Timeout
Tapahtuu väliajoin.
override void OnAdd(IGameObject newOwner)
Kutsutaan, kun aivot lisätään oliolle.
double ChangeMovementSeconds
Aika sekunteina, jonka kuluttua muutetaan liikesuuntaa
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
RandomMoverBrain()
Luo uudet satunnaisliikkujan aivot.
Satunnaisgeneraattori. Luo satunnaisia arvoja, mm. lukuja, vektoreita sekä kulmia.
Vector WanderPosition
Paikka, jonka ympärillä harhaillaan, jos WanderRadius on asetettu.
virtual double Speed
Nopeus, jolla liikutaan.
override void Update(Time time)
Kutsutaan, kun tilaa päivitetään. Suurin osa päätöksenteosta tapahtuu täällä. Perivässä luokassa meth...
Sisältää tiedon ajasta, joka on kulunut pelin alusta ja viime päivityksestä.
static readonly Angle RightAngle
Suora kulma (90 astetta).
Yleiset liikkumiseen tarkoitetut aivot.
Aivot, jotka laittavat omistajansa liikkumaan satunnaisesti eri suuntiin törmäyksissä ja tietyn ajan ...
Ajastin, joka voidaan asettaa laukaisemaan tapahtumia tietyin väliajoin.
static Angle NextAngle()
Palauttaa satunnaisen kulman.
RandomMoverBrain(double speed)
Luo uudet satunnaisliikkujan aivot ja asettaa niille nopeuden.
Yhteinen rajapinta kaikille peliolioille.
void Start()
Käynnistää ajastimen.
double WanderRadius
Säde, jonka sisälle harhailu rajoittuu.
IGameObject Owner
Aivojen haltija.
void Move(Vector direction)
override void OnRemove(IGameObject prevOwner)
Kutsutaan, kun aivot poistetaan oliolta.