Jypeli  9
The simple game programming library
Time.cs
Siirry tämän tiedoston dokumentaatioon.
1 using System.ComponentModel;
3 
4 namespace Jypeli
5 {
6  public partial class Game
7  {
8  // Real time passed, including paused time
9  private static Time currentRealTime = new Time();
10 
11  // Game time passed
12  private static Time currentTime = new Time();
13 
17  public bool IsPaused { get; set; }
18 
24  public static Time Time
25  {
26  get { return currentTime; }
27  }
28 
34  public static Time RealTime
35  {
36  get { return currentTime; }
37  }
38 
43  public void Pause()
44  {
45  IsPaused = !IsPaused;
46  }
47 
51  public void ClearTimers()
52  {
53  Timer.ClearAll();
54  }
55 
59  protected virtual void PausedUpdate( Time time )
60  {
61  foreach ( var layer in Layers )
62  {
63  // Update the UI components only
64  layer.Objects.Update( time, o => o is Widget );
65  }
66 
67  Timer.UpdateAll( time, t => t.IgnorePause );
68  }
69 
74  protected virtual void Update( Time time )
75  {
76  this.Camera.Update( time );
77  Layers.Update( time );
78  Timer.UpdateAll( time );
79  UpdateHandlers( time );
81  }
82 
83  [EditorBrowsable( EditorBrowsableState.Never )]
84  protected override void Update( GameTime gameTime )
85  {
87  {
88  // No updates until both LoadContent and Begin have been called
89  base.Update( gameTime );
90  return;
91  }
92 
93  currentRealTime.Advance( gameTime );
94 
95 #if ANDROID
96  if (IsActive && !VirtualKeyboard.Visible)
97 #else
98  if (IsActive)
99 #endif
101 
102  /*if ( DataStorage.IsUpdated )
103  DataStorage.Update( currentRealTime );*/
104 
105  // The update in derived classes.
106  if ( !IsPaused )
107  {
108  currentTime.Advance( gameTime );
109  this.Update( currentTime );
110  }
111  else
112  {
113  this.PausedUpdate( currentRealTime );
114  }
115 
117 
118  base.Update( gameTime );
119  }
120  }
121 }
Jypeli.Timer.ClearAll
static void ClearAll()
Poistaa kaikki ajastimet.
Definition: Timer.cs:322
Microsoft.Xna
Definition: JypeliContentManager.cs:6
Jypeli.Game.Time
static Time Time
Peliaika. Sisältää tiedon siitä, kuinka kauan peliä on pelattu (Time.SinceStartOfGame) ja kuinka kaua...
Definition: Time.cs:25
Jypeli.Game.IsPaused
bool IsPaused
Onko peli pysähdyksissä.
Definition: Time.cs:17
Jypeli.Game.loadContentHasBeenCalled
bool loadContentHasBeenCalled
Definition: Game.cs:50
Jypeli
Definition: Automobile.cs:5
Microsoft
Definition: JypeliContentManager.cs:6
Microsoft.Xna.Framework
Definition: JypeliContentManager.cs:6
Jypeli.Game.Update
override void Update(GameTime gameTime)
Definition: Time.cs:84
Jypeli.Game.UpdateDebugScreen
void UpdateDebugScreen(Time time)
Definition: DebugScreen.cs:103
Jypeli.Game.UpdateHandlers
void UpdateHandlers(Time time)
Kutsuu tapahtumankäsittelijöitä.
Definition: Events.cs:127
Jypeli.Game.ClearTimers
void ClearTimers()
Poistaa kaikki ajastimet.
Definition: Time.cs:51
Jypeli.Camera
Kamera. Määrittää mikä osa pelitasosta on kerralla näkyvissä.
Definition: Camera.cs:40
Jypeli.Game.ExecutePendingActions
void ExecutePendingActions()
Definition: DelayedActions.cs:145
Jypeli.Timer.UpdateAll
static void UpdateAll(Time time)
Definition: Timer.cs:366
Jypeli.Camera.Update
void Update(Time time)
Ajetaan kun pelitilannetta päivitetään.
Definition: Camera.cs:401
Jypeli.Widget
Käyttöliittymän komponentti.
Definition: Appearance.cs:6
Jypeli.Game.beginHasBeenCalled
bool beginHasBeenCalled
Definition: Game.cs:51
Jypeli.Time
Sisältää tiedon ajasta, joka on kulunut pelin alusta ja viime päivityksestä.
Definition: Time.cs:14
Jypeli.Game.Pause
void Pause()
Asettaa pelin pauselle, tai jatkaa peliä. Toimii samoin kuin IsPaused-ominaisuus
Definition: Time.cs:43
Jypeli.Game.PausedUpdate
virtual void PausedUpdate(Time time)
Ajetaan Updaten sijaan kun peli on pysähdyksissä.
Definition: Time.cs:59
Jypeli.Game.currentTime
static Time currentTime
Definition: Time.cs:12
System
Definition: CFFauxAttributes.cs:29
Jypeli.Timer
Ajastin, joka voidaan asettaa laukaisemaan tapahtumia tietyin väliajoin.
Definition: Timer.cs:38
Jypeli.Game.Update
virtual void Update(Time time)
Ajetaan kun pelin tilannetta päivitetään. Päivittämisen voi toteuttaa perityssä luokassa toteuttamall...
Definition: Time.cs:74
Jypeli.Game.Layers
SynchronousList< Layer > Layers
Kerrokset, joilla pelioliot viihtyvät.
Definition: Layers.cs:14
Jypeli.Game.RealTime
static Time RealTime
Todellinen peliaika. Sisältää tiedon siitä, kuinka kauan peliä on pelattu (Time.SinceStartOfGame) ja ...
Definition: Time.cs:35
Jypeli.Game.UpdateControls
void UpdateControls(Time gameTime)
Definition: Controls.cs:147
Jypeli.Game.currentRealTime
static Time currentRealTime
Definition: Time.cs:9