31 using System.Collections.Generic;
37 public partial class GameObject
46 public override Vector
Size 50 if ( _layoutNeedsRefreshing )
60 if ( value.X < 0.0 || value.Y < 0.0 )
61 throw new ArgumentException(
"The size must be positive." );
63 Vector oldSize = _size;
68 UpdateChildSizes(oldSize, value);
84 get {
return _shape; }
85 set { _shape = value; }
91 internal string ShapeString
93 get {
return Shape.GetType().Name; }
97 private void InitDimensions(
double width,
double height,
Shape shape )
99 this._size =
new Vector( width, height );
110 double pointX, pointY;
132 double x = 2 * ( pointX - pX ) / this.
Width;
133 double y = 2 * ( pointY - pY ) / this.
Height;
139 double x = pointX - pX;
140 double y = pointY - pY;
145 return IsInsideChildren( point );
158 if ( point.
X >= ( p.
X -
Width / 2 )
159 && point.
X <= ( p.
X +
Width / 2 )
161 && point.
Y <= ( p.
Y +
Height / 2 ) )
return true;
172 if ( pointX >= ( pX -
Width / 2 )
173 && pointX <= ( pX +
Width / 2 )
174 && pointY >= ( pY -
Height / 2 )
175 && pointY <= ( pY +
Height / 2 ) )
return true;
178 return IsInsideChildren( point );
override Angle Angle
Olion kulma tai rintamasuunta. Nolla = osoittaa oikealle.
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
Angle AbsoluteAngle
Olion absoluuttinen kulma pelimaailmassa. Jos olio ei ole minkään toisen peliolion lapsiolio...
bool IsInside(Vector point)
Onko piste p tämän olion sisäpuolella.
override Vector Size
Olion koko pelimaailmassa. Kertoo olion äärirajat, ei muotoa.
virtual bool IsInside(double x, double y)
Onko piste muodon sisällä. Pisteen koordinaatiston origo on muodon keskellä. Muoto on kokoa 1x1 jos I...
double ScalarProjection(Vector unitVector)
Vector LeftNormal
Vasen normaali.
static readonly Angle Zero
Nollakulma.
virtual Shape Shape
Olion muoto.
bool IsInsideRect(Vector point)
Onko piste p tämän olion ympäröivän suorakulmion sisäpuolella.
double Width
Olion leveys (X-suunnassa, leveimmässä kohdassa).
bool autoResizeChildObjects
static Shape FromString(string shapeStr)
Luo muodon merkkijonosta, esim. "Circle"
Vector AbsolutePosition
Olion absoluuttinen paikka pelimaailmassa. Jos olio ei ole minkään toisen peliolion lapsiolio...
abstract bool IsUnitSize
If true, the shape must be scaled by the size of the object that has the shape. Typically, an unit-sized object has width and height of 1.0.
void RefreshLayout()
Päivittää lapsiolioiden paikat ja koot, jos widgetille on asetettu asettelija. Tätä metodia EI yleens...
double Height
Olion korkeus (Y-suunnassa, korkeimmassa kohdassa).