2 using Microsoft.Xna.Framework;
5 using Microsoft.Phone.Shell;
6 using System.IO.IsolatedStorage;
7 using System.Xml.Serialization;
76 private void OnActivated(
object sender, ActivatedEventArgs args )
78 if ( Activated != null )
82 private void OnDeactivated(
object sender, DeactivatedEventArgs args )
84 if ( Deactivated != null )
96 Microsoft.Devices.VibrateController.Default.Start(TimeSpan.FromMilliseconds(milliSeconds));
106 Microsoft.Devices.VibrateController.Default.Stop();
110 private static void GetScreenSize(
DisplayResolution resolution, out
int width, out
int height)
130 get {
return _displayResolution; }
133 if (_displayResolution != value)
135 _displayResolution = value;
146 get {
return _displayOrientation; }
149 if (_displayOrientation != value)
151 _displayOrientation = value;
158 private bool _tombstoning =
false;
163 public bool Tombstoning
165 get {
return _tombstoning; }
169 if ( value && !_tombstoning )
171 PhoneApplicationService.Current.Deactivated += SaveTombstone;
174 else if ( !value && _tombstoning )
176 PhoneApplicationService.Current.Deactivated -= SaveTombstone;
177 _tombstoning =
false;
186 PhoneApplicationService.Current.Launching += NewGame;
187 PhoneApplicationService.Current.
Activated += LoadTombstone;
188 PhoneApplicationService.Current.Activated += OnActivated;
189 PhoneApplicationService.Current.Deactivated += OnDeactivated;
192 void NewGame(
object sender, LaunchingEventArgs e )
197 internal void LoadTombstone(
object sender, ActivatedEventArgs e )
200 bool hasContinue =
true;
202 if ( hasContinue && e.IsApplicationInstancePreserved )
210 internal void SaveTombstone(
object sender, DeactivatedEventArgs e )
217 internal void ResetScreen()
220 int screenWidth, screenHeight;
221 GraphicsDeviceManager graphics =
Game.GraphicsDeviceManager;
222 GetScreenSize(_displayResolution, out screenWidth, out screenHeight);
224 switch (_displayOrientation)
227 graphics.SupportedOrientations = Microsoft.Xna.Framework.DisplayOrientation.LandscapeLeft | Microsoft.Xna.Framework.DisplayOrientation.LandscapeRight;
231 graphics.SupportedOrientations = Microsoft.Xna.Framework.DisplayOrientation.LandscapeLeft;
235 graphics.SupportedOrientations = Microsoft.Xna.Framework.DisplayOrientation.LandscapeRight;
239 graphics.SupportedOrientations = Microsoft.Xna.Framework.DisplayOrientation.Portrait;
246 graphics.ApplyChanges();
void LoadGame(string tagName)
Lataa pelin.
void SaveGame(string tagName)
Tallentaa pelin.
Accelerometer Accelerometer
Kiihtyvyysanturi. Vain kännykässä.
Action Activated
Tapahtuu kun puhelin palaa tombstone-tilasta
Vaakasuuntainen. näyttö kääntyy automaattisesti, jos puhelin käännetään toisinpäin.
DisplayOrientation
Puhelimen näytön asemointi.
virtual void Continue()
Tässä alustetaan peli tombstoning-tilasta. Jos metodia ei ole määritelty, kutsutaan Begin...
Aliohjelmia ja ominaisuuksia, jotka toimivat vain puhelimessa. Voidaan kutsua myös PC:lle käännettäessä, ...
Action Deactivated
Tapahtuu kun puhelin siirtyy tombstone-tilaan
Peliluokka reaaliaikaisille peleille.
DisplayResolution
Puhelimen näytön tarkkuus.
Vaakasuuntainen, oikealle käännetty.
void Vibrate(int milliSeconds)
Värisyttää puhelinta.
void StopVibrating()
Lopettaa puhelimen värinän.
bool SetWindowSize(int width, int height, bool fullscreen)
Asettaa ikkunan koon.
Vaakasuuntainen, vasemmalle käännetty.
Pieni tarkkuus. Paremi suorituskyky ja pienempi akun kulutus.