9 [EditorBrowsable( EditorBrowsableState.Never )]
55 private double dist(
double a1,
double a2 )
57 return Math.PI - Math.Abs( Math.Abs( a2 - a1 ) - Math.PI );
76 double d =
dist( a2, a1 );
77 double dcw =
dist( a2, a1 - maxTurn );
78 double dccw =
dist( a2, a1 + maxTurn );
80 double step = dcw < dccw ? -maxTurn : maxTurn;
103 if (
Owner ==
null )
return;
Yleiset liikkumiseen tarkoitetut aivot.
AbstractMoverBrain()
Yleiset liikkumiseen tarkoitetut aivot
virtual double Speed
Nopeus, jolla liikutaan.
UnlimitedAngle TurnSpeed
Maksimikääntymisnopeus (radiaania sekunnissa)
bool TurnWhileMoving
Käännytäänkö siihen suuntaan mihin liikutaan.
void Turn(Angle angle)
Kääntää aivojen hallitsemaan hahmoa
void Move(Angle direction)
Liikuttaa aivojen hallitsemaa hahmoa
AbstractMoverBrain(double speed)
Yleiset liikkumiseen tarkoitetut aivot
UnlimitedAngle _turnSpeed
void Move(Vector direction)
Liikuttaa aivojen hallitsemaa hahmoa
double dist(double a1, double a2)
Aivoluokka peliolioille. Voidaan käyttää tekoälyn ja tilannekohtaisten toimintamallien luomiseen peli...
IGameObject Owner
Aivojen haltija.
static Time Time
Peliaika. Sisältää tiedon siitä, kuinka kauan peliä on pelattu (Time.SinceStartOfGame) ja kuinka kaua...
void Move(Vector movement)
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
static Angle FromRadians(double radian)
Luo kulman annettujen radiaanien mukaan.
double Radians
Palauttaa tai asettaa kulman radiaaneina.
TimeSpan SinceLastUpdate
Aika joka on kulunut viime päivityksestä.
Rajoittamaton kulma (asteina ja radiaaneina). Tietoja kulmasta: http://en.wikipedia....
static readonly UnlimitedAngle Infinity
Ääretön kulma.
double Radians
Palauttaa tai asettaa kulman radiaaneina.
static readonly Vector Zero
Nollavektori.
Angle Angle
Kulma radiaaneina.
double Magnitude
Vektorin pituus.
static Vector FromLengthAndAngle(double length, double angle)
Luo vektorin pituuden ja kulman perusteella.