public override void Load() { // Extract Global Data Game currentGame = Globals.Data["Game"]; SpriteBatch spriteBatch = Globals.Data["SpriteBatch"]; Size winSize = DefaultSettings.Settings["WindowSize"]; // Initialize currentGame.IsMouseVisible = true; PE = new PhysicsEngine(new Region(0, (float)winSize.Width, 0, (float)winSize.Height), 10); var w0 = new VertWallBody(new Vector2(0, winSize.Height / 2), winSize.Height); var w1 = new VertWallBody(new Vector2(winSize.Width, winSize.Height / 2), winSize.Height); var w2 = new HorizWallBody(new Vector2(winSize.Width / 2, 0), winSize.Width); var w3 = new HorizWallBody(new Vector2(winSize.Width / 2, winSize.Height), winSize.Width); PE.MapBodies.Add(w0); PE.MapBodies.Add(w1); PE.MapBodies.Add(w2); PE.MapBodies.Add(w3); var c0 = new CircleBody(30, 300, new Vector2(600, winSize.Height / 2)); c0.Velocity = -1000 * Vector2.UnitX; PE.ActiveBodies.Add(c0); Random rand = new Random(); int nx = 40; int ny = 40; var rad = 4f; var buf = 0f; var pos = new Vector2(winSize.Width / 2 - nx * (2f * rad + buf) / 2f, winSize.Height / 2 - ny * (2f * rad + buf) / 2f); for (int xi = 0; xi < nx; xi++) { for (int yi = 0; yi < ny; yi++) { var cent = pos + new Vector2((2f * rad + buf) * xi, (2f * rad + buf) * yi); var ball = new CircleBody(rad, rad, cent); PE.ActiveBodies.Add(ball); } } // Load Content GraphicsUtils.Load(spriteBatch, (Texture2D)ContentRepository.Repository["Pixel"], (Texture2D)ContentRepository.Repository["Ball"]); // Setup UI _uiEngine = new UIEngine(); _uiEngine.AddAndLoad(new UIFrames.BasicFrame()); }
public override void Load() { // Extract Global Data Game currentGame = Globals.Data["Game"]; SpriteBatch spriteBatch = Globals.Data["SpriteBatch"]; // Initialize currentGame.IsMouseVisible = true; PE = new PhysicsEngine(new Region(0, (float)winSize.Width, 0, (float)winSize.Height), 10); //PE.AddUniversalForce(DefaultForces.Gravity); //PE.AddUniversalForce(DefaultForces.Drag); var w0 = new VertWallBody(new Vector2(0, winSize.Height / 2), winSize.Height); var w1 = new VertWallBody(new Vector2(winSize.Width, winSize.Height / 2), winSize.Height); var w2 = new HorizWallBody(new Vector2(winSize.Width / 2, 0), winSize.Width); var w3 = new HorizWallBody(new Vector2(winSize.Width / 2, winSize.Height), winSize.Width); PE.MapBodies.Add(w0); PE.MapBodies.Add(w1); PE.MapBodies.Add(w2); PE.MapBodies.Add(w3); //var c0 = new CircleBody(30, 300, new Vector2(600, winSize.Height / 2)); //c0.Velocity = -1000 * Vector2.UnitX; //PE.ActiveBodies.Add(c0); //PE.AddBoundForceField(new BoundForceField(c0, 50, DefaultForces.StrongAttractor)); int nx = 40; int ny = 20; var rad = 4f; var buf = 0f; var pos = new Vector2(winSize.Width / 2 - nx * (2f * rad + buf) / 2f, winSize.Height / 2 - ny * (2f * rad + buf) / 2f); for (int xi = 0; xi < nx; xi++) { for (int yi = 0; yi < ny; yi++) { var cent = pos + new Vector2((2f * rad + buf) * xi, (2f * rad + buf) * yi); var ball = new CircleBody(rad, rad, cent); PE.ActiveBodies.Add(ball); } } printInstr(); printStat(); // Load Content GraphicsUtils.Load(spriteBatch, ContentRepository.Repository["Pixel"], ContentRepository.Repository["Ball"]); // Setup UI _uiEngine = new UIEngine(); var frame = new UIFrames.BasicFrame(); frame.MouseDown += new MouseEventHandler(frame_MouseDown); frame.MouseClick += new MouseEventHandler(frame_MouseClick); frame.MouseOver += new MouseEventHandler(frame_MouseOver); frame.KeyPressDown += new KeyEventHandler(frame_KeyPressDown); _uiEngine.AddAndLoad(frame); }