Jypeli  5
The simple game programming library
IGameObject.cs
Siirry tämän tiedoston dokumentaatioon.
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.ComponentModel;
6 using Jypeli.Controls;
7 using Jypeli.GameObjects;
8 
9 namespace Jypeli
10 {
14  public interface IGameObject : Tagged, Destroyable, Updatable
15  {
16  Layer Layer { get; }
17  IGameObject Parent { get; set; }
18  Brain Brain { get; set; }
19 
20  bool IsVisible { get; set; }
21  bool IsAddedToGame { get; }
22  bool IgnoresLighting { get; set; }
23 
24  TimeSpan CreationTime { get; }
25  TimeSpan Lifetime { get; }
26  TimeSpan MaximumLifetime { get; set; }
27 
28  Vector Size { get; set; }
29  double Width { get; set; }
30  double Height { get; set; }
31 
32  Vector Position { get; set; }
33  Angle Angle { get; set; }
34  double X { get; set; }
35  double Y { get; set; }
36  double Left { get; set; }
37  double Top { get; set; }
38  double Right { get; set; }
39  double Bottom { get; set; }
40 
41  Vector UnitX { get; }
42  Vector UnitY { get; }
45 
46  Vector AbsolutePosition { get; set; }
47  Angle AbsoluteAngle { get; set; }
48 
49  Animation Animation { get; set; }
50  Image Image { get; set; }
51  Color Color { get; set; }
52 
53  Shape Shape { get; set; }
54  Vector TextureWrapSize { get; set; }
55  bool TextureFillsShape { get; set; }
56  bool RotateImage { get; set; }
57 
58  event Action AddedToGame;
59  event Action Removed;
60 
61  bool IsInside( Vector point );
62 
63  void Add( IGameObject childObject );
64  void Remove( IGameObject childObject );
65 
66  void Move( Vector movement );
67  void MoveTo( Vector location, double speed, Action doWhenArrived );
68  void StopMoveTo();
69  }
70 
84  public interface IGameObjectInternal : IGameObject
85  {
86  Layer Layer { set; }
87  List<Listener> AssociatedListeners { get; }
88 
89  void Update( Time time );
90 
91  bool IsAddedToGame { set; }
92 
93  void OnAddedToGame();
94  void OnRemoved();
95  }
96 }
Jypelin sisäiset metodit ja propertyt joihin käyttäjän ei tarvitse päästä käsiksi kuuluvat tähän luokkaan...
Definition: IGameObject.cs:84
Kuvio.
Definition: Shapes.cs:48
Rajapinta olioille, joilla on Tag-ominaisuus.
Definition: Tagged.cs:6
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
Definition: Angle.cs:40
TimeSpan CreationTime
Definition: IGameObject.cs:24
Rajapinta päivittyville olioille.
Definition: Updatable.cs:6
Aivoluokka peliolioille. Voidaan käyttää tekoälyn ja tilannekohtaisten toimintamallien luomiseen peli...
Definition: Brain.cs:40
Sisältää tiedon ajasta, joka on kulunut pelin alusta ja viime päivityksestä.
Definition: Time.cs:13
Kuva.
Definition: Image.cs:24
Vector TextureWrapSize
Definition: IGameObject.cs:54
void Remove(IGameObject childObject)
void Move(Vector movement)
void Add(IGameObject childObject)
void MoveTo(Vector location, double speed, Action doWhenArrived)
TimeSpan MaximumLifetime
Definition: IGameObject.cs:26
Kerros. Vastaa olioiden piirtämisestä.
Definition: Layer.cs:36
IGameObject Parent
Definition: IGameObject.cs:17
Väri.
Definition: Color.cs:13
Yhteinen rajapinta kaikille peliolioille.
Definition: IGameObject.cs:14
Sarja kuvia, jotka vaihtuvat halutulla nopeudella. Yksi animaatio koostuu yhdestä tai useammasta kuva...
Definition: Animation.cs:56
bool IsInside(Vector point)
2D-vektori.
Definition: Vector.cs:56
Vector AbsolutePosition
Definition: IGameObject.cs:46
void Update(Time time)
Rajapinta olioille, jotka ovat tuhottavissa.
Definition: Destroyable.cs:8