Jypeli 10
The simple game programming library
Dimensions.cs
Siirry tämän tiedoston dokumentaatioon.
1using Jypeli.Physics;
2
3namespace Jypeli
4{
5 public partial class PhysicsObject : GameObject, IPhysicsObjectInternal
6 {
8
12 public IPhysicsBody Body { get; private set; }
13
19 {
20 get
21 {
23 _bRect.Size = this.Size;
24 return _bRect;
25 }
26 }
27
29 public override Vector Position
30 {
31 get { return Body.Position; }
32 set
33 {
34 Body.Position = value;
35
36 Objects?.ForEach(o => {
37 o.RelativePositionToMainParent = o.InitialRelativePosition;
38 o.RelativeAngleToMainParent = o.InitialRelativeAngle;
39 });
40
41 // TODO: Purkkapallokorjaus, SynchronousListin kappalaiden lisäys pitäisi saada hieman yksinkertaisemmaksi.
42 foreach (var o in Objects?.GetObjectsAboutToBeAdded())
43 {
44 o.RelativePositionToMainParent = o.InitialRelativePosition;
45 o.RelativeAngleToMainParent = o.InitialRelativeAngle;
46 }
47
48 if (Parent != null)
50 }
51 }
52
54 public override Angle Angle
55 {
56 get { return Angle.FromRadians(Body.Angle); }
57 set
58 {
59 Body.Angle = value.Radians;
60
61 Objects?.ForEach(o => {
62 o.RelativePositionToMainParent = o.InitialRelativePosition;
63 o.RelativeAngleToMainParent = o.InitialRelativeAngle;
64 });
65
66 // TODO: Purkkapallokorjaus, SynchronousListin kappalaiden lisäys pitäisi saada hieman yksinkertaisemmaksi.
67 foreach (var o in Objects?.GetObjectsAboutToBeAdded())
68 {
69 o.RelativePositionToMainParent = o.InitialRelativePosition;
70 o.RelativeAngleToMainParent = o.InitialRelativeAngle;
71 }
72
73 if (Parent != null)
75 }
76 }
77
79 public override Vector Size
80 {
81 get { return (Vector)Body.Size; }
82 set
83 {
84 Body.Size = value;
85 /*if (Parent != null) // TODO: tästä tulee stackoverflow
86 Body.RegenerateConnectedFixtures();*/
87 }
88 }
89
91 public override Shape Shape
92 {
93 get { return Body.Shape; }
94 set
95 {
96 Body.Shape = value;
97 if (Parent != null)
99 }
100 }
101 }
102}
SynchronousList< GameObject > Objects
Olion lapsioliot. Saa muuttaa.
Definition: ChildObjects.cs:46
Angle RelativeAngleToMainParent
Olion kulma suhteessa vanhimpaan vanhempaan. Jos olio ei ole minkään toisen peliolion lapsiolio,...
Vector RelativePositionToMainParent
Sijainti suhteessa vanhimpaan vanhempaan
IGameObject Parent
Olio, jonka lapsiolio tämä olio on. Jos null, olio ei ole minkään olion lapsiolio.
BoundingRectangle BoundingRectangle
Olion sisältävä laatikko törmäyskäsittelyä varten.
Definition: Dimensions.cs:19
IPhysicsBody Body
Fysiikkamoottorin käsittelemä fysiikkakappale.
Definition: Dimensions.cs:12
override Vector?? Position
Definition: Dimensions.cs:30
BoundingRectangle _bRect
Definition: Dimensions.cs:7
override Vector Size
Definition: Dimensions.cs:80
Kuvio.
Definition: Shapes.cs:47
Rajapinta fysiikkamoottorin tietämää fysiikkakappaletta varten.
Definition: IPhysicsBody.cs:10
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
Definition: Angle.cs:40
static Angle FromRadians(double radian)
Luo kulman annettujen radiaanien mukaan.
Definition: Angle.cs:315
Vector Position
Suorakaiteen keskipiste
Vector Size
Suorakaiteen koko
2D-vektori.
Definition: Vector.cs:67