This is the main type for your game. More...
Public Member Functions | |
| PendulumGame () | |
| Constructor of pendulum game. | |
Public Attributes | |
| const string | PlayTrulyRandomAgentName = "PendulumGame_v3" |
| The agent name for PlayTrulyRandom. | |
Protected Member Functions | |
| override void | Initialize () |
| Initialize: load base initialize/. | |
| override void | LoadContent () |
| LoadContent: load some common content used across all of pendulum game. | |
| override void | UnloadContent () |
| Unload all pendulum game content. | |
| override void | Update (GameTime gameTime) |
| Default updater: calls base update. | |
| override void | Draw (GameTime gameTime) |
| Default draw: black screen. | |
Properties | |
| static PendulumGameState | State [get] |
| Gets the current game state for PendulumGame. | |
This is the main type for your game.
Definition at line 20 of file PendulumGame.cs.
| PendulumGame.PendulumGame.PendulumGame | ( | ) |
Constructor of pendulum game.
Definition at line 55 of file PendulumGame.cs.
00056 { 00057 // Parse command-line parameters 00058 bool fullscreen = false; 00059 bool oneGamepad = false; 00060 bool disableShaders = false; 00061 bool xboxResolution = false; 00062 bool audioOnDemand = false; 00063 string[] args = System.Environment.GetCommandLineArgs(); 00064 if (args.Length > 1) 00065 { 00066 for (int i = 1; i < args.Length; i++) 00067 { 00068 if (!string.IsNullOrEmpty(args[i])) 00069 { 00070 if (args[i].Equals("/fullscreen", StringComparison.InvariantCultureIgnoreCase)) 00071 { 00072 fullscreen = true; 00073 } 00074 else if (args[i].Equals("/onegamepad", StringComparison.InvariantCultureIgnoreCase)) 00075 { 00076 oneGamepad = true; 00077 } 00078 else if (args[i].Equals("/twogamepads", StringComparison.InvariantCultureIgnoreCase)) 00079 { 00080 oneGamepad = false; 00081 } 00082 else if (args[i].Equals("/noshaders", StringComparison.InvariantCultureIgnoreCase)) 00083 { 00084 disableShaders = true; 00085 } 00086 else if (args[i].Equals("/xboxscreen", StringComparison.InvariantCultureIgnoreCase)) 00087 { 00088 xboxResolution = true; 00089 } 00090 else if (args[i].Equals("/audioondemand", StringComparison.InvariantCultureIgnoreCase)) 00091 { 00092 audioOnDemand = true; 00093 } 00094 else 00095 { 00096 System.Console.WriteLine("PendulumGame [/fullscreen] [/xboxscreen] [/noshaders] [/onegamepad|/twogamepads] [/audioondemand]"); 00097 } 00098 } 00099 } 00100 } 00101 00102 // Create game state 00103 state = new PendulumGameState(); 00104 00105 // Set content root 00106 Content.RootDirectory = "Content"; 00107 00108 // Setup graphics 00109 GraphicsDeviceManager graphics = new GraphicsDeviceManager(this); 00110 00111 // Designed for a resolution suitable for both Windows and XBox 360 00112 if (xboxResolution) 00113 { 00114 // Xbox 00115 graphics.PreferredBackBufferWidth = 853; 00116 graphics.PreferredBackBufferHeight = 480; 00117 PendulumGame.State.Scale = new Vector2(1.0f, 1.0f); 00118 } 00119 else 00120 { 00121 // XGA 00122 graphics.PreferredBackBufferWidth = 1024; 00123 graphics.PreferredBackBufferHeight = 768; 00124 PendulumGame.State.Scale = new Vector2( 00125 (float)1024 / (float)853, 00126 (float)768 / (float)480); 00127 } 00128 00129 // Maybe enable fullscreen mode 00130 graphics.IsFullScreen = fullscreen; 00131 00132 // Enable antialiasing 00133 graphics.PreferMultiSampling = true; 00134 00135 // Enable on-demand real-time audio 00136 PendulumGame.State.RealtimeAudioOnDemand = audioOnDemand; 00137 00138 // Store gamepad choice 00139 PendulumGame.State.UseOnlyOneGamepad = oneGamepad; 00140 00141 // Store shader choice 00142 PendulumGame.State.DisablePixelShaderEffects = disableShaders; 00143 00144 // Enable mouse 00145 this.IsMouseVisible = true; 00146 00147 // Create the screen manager component. 00148 screenManager = new ScreenManager(this); 00149 Components.Add(screenManager); 00150 }
| override void PendulumGame.PendulumGame.Draw | ( | GameTime | gameTime | ) | [protected] |
Default draw: black screen.
| gameTime | Provides a snapshot of timing values. |
Definition at line 244 of file PendulumGame.cs.
| override void PendulumGame.PendulumGame.Initialize | ( | ) | [protected] |
Initialize: load base initialize/.
Definition at line 163 of file PendulumGame.cs.
| override void PendulumGame.PendulumGame.LoadContent | ( | ) | [protected] |
LoadContent: load some common content used across all of pendulum game.
Definition at line 171 of file PendulumGame.cs.
00172 { 00173 // Load textures 00174 screenManager.Textures.Add("rivet", Content.Load<Texture2D>("Sprites/rivet")); 00175 screenManager.Textures.Add("metal", Content.Load<Texture2D>("Sprites/metal_texture")); 00176 // 00177 screenManager.Textures.Add("apple", Content.Load<Texture2D>("Sprites/red_apple")); 00178 screenManager.Textures.Add("copperball", Content.Load<Texture2D>("Sprites/copperball")); 00179 screenManager.Textures.Add("silverball", Content.Load<Texture2D>("Sprites/silverball")); 00180 screenManager.Textures.Add("goldball", Content.Load<Texture2D>("Sprites/goldball")); 00181 screenManager.Textures.Add("duck", Content.Load<Texture2D>("Sprites/yellow_duck")); 00182 00183 // Load fonts 00184 screenManager.Fonts.Add("retro", Content.Load<SpriteFont>("Fonts/retroMedium")); 00185 screenManager.Fonts.Add("courier", Content.Load<SpriteFont>("Fonts/courier")); 00186 00187 // Load info links 00188 string fileContent; 00189 this.infoLinkCollections = new Dictionary<string, InfoLink[]>(); 00190 string[] infoLinkTopics = { "Gravity", "DoublePendulum", "Randomness" }; 00191 foreach (string topic in infoLinkTopics) 00192 { 00193 fileContent = 00194 System.IO.File.ReadAllText(@"InfoLinkData\" + topic + ".xml", Encoding.Unicode); 00195 if (!string.IsNullOrEmpty(fileContent)) 00196 { 00197 InfoLink[] infoLinks = 00198 InfoLinkSerializer.DeserializeArray(fileContent); 00199 if (infoLinks != null) 00200 { 00201 this.infoLinkCollections.Add(topic, infoLinks); 00202 } 00203 } 00204 } 00205 00206 // Open webservice link 00207 this.playTrulyRandomWebservice = new PlayTrulyRandom( 00208 PlayTrulyRandomAgentName); 00209 this.playTrulyRandomWebservice.RegisterAgent(); 00210 00211 // Transmitter for info links 00212 infoLinkTransmitter = new InfoLinkTransmitter(); 00213 infoLinkTransmitter.StartTransmitter(); 00214 00215 // Activate the first screens. 00216 screenManager.AddScreen(new PendulumBackgroundScreen(), null); 00217 screenManager.AddScreen(new PendulumMainMenuScreen(), null); 00218 }
| override void PendulumGame.PendulumGame.UnloadContent | ( | ) | [protected] |
Unload all pendulum game content.
Definition at line 223 of file PendulumGame.cs.
| override void PendulumGame.PendulumGame.Update | ( | GameTime | gameTime | ) | [protected] |
Default updater: calls base update.
| gameTime | Provides a snapshot of timing values. |
Definition at line 235 of file PendulumGame.cs.
| const string PendulumGame.PendulumGame.PlayTrulyRandomAgentName = "PendulumGame_v3" |
The agent name for PlayTrulyRandom.
Definition at line 25 of file PendulumGame.cs.
PendulumGameState PendulumGame.PendulumGame.State [static, get] |
Gets the current game state for PendulumGame.
Definition at line 156 of file PendulumGame.cs.
1.6.2