public override void Initialize() { base.Initialize(); new AssetCollector(this); GetService<AssetCollector>().LoadXML(@"Content/AsteroidsGame/assets.xml"); //Change bgcolor to black EntityGame.BackgroundColor = Color.Black; EntityGame.DebugInfo.Color = Color.White; _player = new PlayerShip(this, "PlayerShip"); //SpawnAsteroids(5); //TEST ASTEROIDS var a = new Asteroid(this, "Asteroid1"); a.Body.Position = new Vector2(300, 100); a.Physics.AddForce(-a.Physics.Force); var b = new Asteroid(this, "Asteroid2"); b.Body.Position = new Vector2(100, 100); b.Physics.AddForce(-b.Physics.Force); b.Physics.AddForce(30, 0); Page p = new Page(this, "Page"); p.Show(); _statusLabel = new Label(p, "StatusLabel", new Point(0, 0)); _statusLabel.Color = Color.White; _statusLabel.Visible = false; }
public override void Initialize() { base.Initialize(); new ControlHandler(this); _collided = new SortedSet<string>(); Page p = new Page(this, "Page"); p.Show(); _collidedLabel = new Label(p, "CollidedLabel", new Point(0, 0)); _collidedLabel.Body.Position = new Vector2(10, 560); for (int x = 0; x < 3; x++) { ResolutionTestNode c = new ResolutionTestNode(this, "A" + x); c.Collision.Group.AddMask(0); c.Collision.Pair.AddMask(0); c.Collision.Pair.AddMask(2); c.Collision.ResolutionGroup.AddMask(0); c.Collision.ResolutionGroup.AddMask(1); c.Collision.ResolutionGroup.AddMask(2); c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name); c.Collision.Debug = true; c.Body.Position = new Vector2(30, 80 * x + 20); } for (int x = 0; x < 3; x++) { ResolutionTestNode c = new ResolutionTestNode(this, "B" + x); c.Collision.Group.AddMask(1); c.Collision.Pair.AddMask(0); c.Collision.Pair.AddMask(2); c.Collision.ResolutionGroup.AddMask(0); c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name); c.Collision.Debug = true; c.Body.Position = new Vector2(510, 80 * x + 20); c.Color = Color.Orange; c.HoverColor = Color.Violet; } for (int x = 0; x < 3; x++) { ResolutionTestNode c = new ResolutionTestNode(this, "C" + x); c.Collision.Group.AddMask(2); c.Collision.Pair.AddMask(0); c.Collision.Pair.AddMask(1); c.Collision.ResolutionGroup.AddMask(0); c.Collision.ResolutionGroup.AddMask(1); c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name); c.Collision.Immovable = true; c.Collision.Debug = true; c.Body.Position = new Vector2(50 + x * 70, 450); c.Color = Color.Green; c.HoverColor = Color.DarkBlue; } }
public override void Initialize() { base.Initialize(); ControlHandler ch = new ControlHandler(this); Page page = new Page(this, "Page"); page.Show(); //Add our labels to the top _drawingtoolsTitle = new Label(page, "drawingtoolsTitle", new Point(0, 0)); _drawingtoolsTitle.Text = "DrawingTools.Primitives"; _drawingtoolsTitle.Body.Position = new Vector2(EntityGame.Viewport.Width / 4 - _drawingtoolsTitle.Render.DrawRect.Width / 2, 15); _renderTitle = new Label(page, "renderTitle", new Point(1, 0)); _renderTitle.Text = "Rendering.Primitives"; _renderTitle.Body.Position = new Vector2(EntityGame.Viewport.Width - (EntityGame.Viewport.Width / 4) - _renderTitle.Render.DrawRect.Width / 2, 15); _middleLine = new DrawingTools.Line(new Vector2(EntityGame.Viewport.Width / 2f, 10), new Vector2(EntityGame.Viewport.Width / 2f, EntityGame.Viewport.Height - 10)); //Setup our prmitives _r1 = new DrawingTools.Rectangle(20, 40, 260, 60); _r1.Color = Color.Salmon; _r1.Fill = true; //Horizontal Lines _lx1 = new DrawingTools.Line(new Vector2(20, 105), new Vector2(270, 105), Color.Red); _lx1.Thickness = 1; _lx2 = new DrawingTools.Line(new Vector2(20, 110), new Vector2(270, 110), Color.Orange); _lx2.Thickness = 2; _lx3 = new DrawingTools.Line(new Vector2(20, 115), new Vector2(270, 115), Color.Yellow); _lx3.Thickness = 3; _ly1 = new DrawingTools.Line(new Vector2(270, 120), new Vector2(270, 290), Color.MediumPurple); _ly1.Thickness = 1; _ly2 = new DrawingTools.Line(new Vector2(275, 120), new Vector2(275, 290), Color.DodgerBlue); _ly2.Thickness = 2; _ly3 = new DrawingTools.Line(new Vector2(280, 120), new Vector2(280, 290), Color.LawnGreen); _ly3.Thickness = 3; //Add component based classes new SpinningRect(this, "Spinning", EntityGame.Viewport.Width / 2f + 75, 200, 30, 30, false, 3); new SpinningRect(this, "Spinning", EntityGame.Viewport.Width / 2f + 75, 200, 30, 30, false, 2); new SpinningRect(this, "Spinning", EntityGame.Viewport.Width / 2f + 75, 200, 30, 30, false, 1); new SpinningRect(this, "Spinning", EntityGame.Viewport.Width / 2f + 150 + 75, 200, 30, 30, true); new SpinningRect(this, "Spinning", EntityGame.Viewport.Width / 2f + 75, 300, 70, 30, false, 3); new SpinningRect(this, "Spinning", EntityGame.Viewport.Width / 2f + 75, 300, 70, 30, false, 2); new SpinningRect(this, "Spinning", EntityGame.Viewport.Width / 2f + 75, 300, 70, 30, false, 1); new SpinningRect(this, "Spinning", EntityGame.Viewport.Width / 2f + 150 + 75, 300, 30, 70, true); }
public override void Initialize() { base.Initialize(); ControlHandler ch = new ControlHandler(this); _collided = new SortedSet<string>(); Page p = new Page(this, "Page"); p.Show(); _collidedLabel = new Label(p, "CollidedLabel", new Point(0, 0)); _collidedLabel.Body.Position = new Vector2(10, 500); Random rand = new Random(); for (int x = 0; x < 3; x++) { AabbNode c = new AabbNode(this, "A" + x); c.Collision.Group.AddMask(0); c.Collision.Pair.AddMask(0); c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name); c.Collision.Debug = true; c.Body.Position = new Vector2(0, 100 * x + 20); c.Shape.Debug = true; } for (int x = 0; x < 3; x++) { AabbNode c = new AabbNode(this, "B" + x); c.Collision.Group.AddMask(1); c.Collision.Pair.AddMask(0); c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name); c.Body.Position = new Vector2(510, 80 * x + 20); c.Color = Color.Orange; c.HoverColor = Color.Black; c.Collision.Debug = true; } for (int x = 0; x < 3; x++) { CircleNode c = new CircleNode(this, "C" + x); c.Collision.Group.AddMask(2); c.Collision.Pair.AddMask(2); c.Collision.CollideEvent += manifold => _collided.Add(manifold.A != c.Collision ? manifold.A.Parent.Name : manifold.B.Parent.Name); ; c.Body.Position = new Vector2(80 * x + 20, 300); c.Color = Color.LightBlue; c.HoverColor = Color.DarkRed; c.Shape.Debug = true; } }
public override void Initialize() { base.Initialize(); //Add our services var controlHandler = new ControlHandler(this); _testControlManager = new TestControlManager(this); for (int x = 0; x < 4; x++) for (int y = 0; y < 4; y++) { var testControl = new LinkLabel(_testControlManager, "TC-X" + x + "Y" + y, new Point(x, y)) { Body = { Position = new Vector2(x * 135 + 40, y * 30 + 50) }, }; testControl.OnReleased += OnSelected; //Set the default control. if (x == 0 && y == 0) testControl.OnFocusGain(); } _actionLabel = new Label(_testControlManager, "TestContolLabel", new Point(5, 2)); _actionLabel.Text = "TestControlLabel"; _actionLabel.Body.Position = new Vector2(50, 400); }
public override void Initialize() { base.Initialize(); new ControlHandler(this); _page = new Page(this, "GUIPage"); _manager = new ColorGameOfLifeManager(this, "Manager"); _manager.UpdateTimer.LastEvent += CheckAllCells; //Cells = new Tilemap(this, "Cells", EntityGame.Game.Content.Load<Texture2D>(@"GameOfLife\tiles"), new Point(30,30),new Point(16,16)); Cells = new Tilemap(this, "Cells", EntityGame.Self.Content.Load<Texture2D>(@"GameOfLife\tilesSmall"), new Point(30, 30), new Point(1, 1)); Cells.Render.Scale = new Vector2(16, 16); Cells.SetAllTiles(new Tile(DEAD) { Color = Color.Red.ToRGBColor() }); //Position Tilemap to center Cells.Body.Position = new Vector2(EntityGame.Viewport.Width / 2f - Cells.Width / 2f * Cells.Render.Scale.X, 10); Cells.TileSelected += OnTileSelected; _tiles = Cells.CloneTiles(); //GUI _page.Show(); TextButton startTextButton = new TextButton(_page, "StartButton", new Point(0, 0), new Vector2(Cells.Body.X, 500), Color.White.ToRGBColor()); startTextButton.OnFocusGain(); startTextButton.Text = "Start"; startTextButton.MakeDefault(); startTextButton.OnReleased += control => _manager.Start(); TextButton stopTextButton = new TextButton(_page, "StopLink", new Point(0, 1), new Vector2(Cells.Body.X, startTextButton.Body.Bottom), Color.White.ToRGBColor()); stopTextButton.Text = "Stop"; stopTextButton.OnReleased += control => _manager.Stop(); stopTextButton.MakeDefault(); TextButton resetTextButton = new TextButton(_page, "ResetLink", new Point(0, 2), new Vector2(Cells.Body.X, stopTextButton.Body.Bottom), Color.White.ToRGBColor()); resetTextButton.Text = "ResetTimer"; resetTextButton.OnReleased += control => ResetCells(); resetTextButton.MakeDefault(); LinkLabel downMillisecondsLink = new LinkLabel(_page, "downMillisecondsLink", new Point(1, 0)); downMillisecondsLink.Body.Position = new Vector2(Cells.Body.X + 100, startTextButton.Body.Bottom); downMillisecondsLink.Text = "<-"; downMillisecondsLink.OnDown += control => _manager.UpdateTimer.Milliseconds -= 50; _millisecondsText = new Label(_page, "millisecondsText", new Point(2, 0)); _millisecondsText.Body.Position = new Vector2(downMillisecondsLink.Body.Right + 2, startTextButton.Body.Bottom); _millisecondsText.Text = _manager.UpdateTimer.Milliseconds.ToString(); LinkLabel upMillisecondsLink = new LinkLabel(_page, "upMillisecondsLink", new Point(3, 0)); upMillisecondsLink.Body.Position = new Vector2(_millisecondsText.Body.Right + 25, startTextButton.Body.Bottom); upMillisecondsLink.Text = "->"; upMillisecondsLink.OnDown += control => _manager.UpdateTimer.Milliseconds += 50; MakeNextColorButton(Color.Red.ToRGBColor()); MakeNextColorButton(Color.Orange.ToRGBColor()); MakeNextColorButton(Color.Yellow.ToRGBColor()); MakeNextColorButton(Color.Green.ToRGBColor()); MakeNextColorButton(Color.LightBlue.ToRGBColor()); MakeNextColorButton(Color.Blue.ToRGBColor()); MakeNextColorButton(Color.MediumPurple.ToRGBColor()); }
public override void Initialize() { base.Initialize(); _currentTest = new CircleTest1(this, "CircleTest1"); _currentTest.Initialize(); _beginTest = new DoubleInput(this, "BeginTest", Keys.Space, Buttons.Start, PlayerIndex.One); _nextTest = new DoubleInput(this, "NextTest", Keys.Right, Buttons.RightShoulder, PlayerIndex.One); _lastTest = new DoubleInput(this, "LastTest", Keys.Left, Buttons.LeftShoulder, PlayerIndex.One); _resetTest = new DoubleInput(this, "ResetLink", Keys.Q, Buttons.X, PlayerIndex.One); Page p = new Page(this, "Page"); p.Show(); _titleLabel = new Label(p, "TitleLabel", new Point(0, 0)); _titleLabel.Text = _currentTest.Title; _titleLabel.Body.Position = new Vector2(2, 2); _descriptionLabel = new Label(p, "DescriptionLabel", new Point(0, 1)); _descriptionLabel.Text = _currentTest.Description; _descriptionLabel.Body.Position = new Vector2(2, EntityGame.Viewport.Height - _descriptionLabel.Render.Bounds.Y - 2); //Init tests _tests.Add(_currentTest); _tests.Add(new CircleTest2(this, "CircleTest2")); _tests.Add(new CircleTest3(this, "CircleTest3")); _tests.Add(new CircleTest4(this, "CircleTest4")); _tests.Add(new CircleTest5(this, "CirlceTest5")); _tests.Add(new CircleTest6(this, "CirlceTest6")); _tests.Add(new CircleTest7(this, "CirlceTest7")); _tests.Add(new CircleTest8(this, "CirlceTest8")); _tests.Add(new CircleTest9(this, "CirlceTest9")); _tests.Add(new CircleTest10(this, "CirlceTest10")); _tests.Add(new AABBTest1(this, "AABBTest1")); _tests.Add(new AABBTest2(this, "AABBTest2")); _tests.Add(new AABBTest3(this, "AABBTest3")); _tests.Add(new AABBTest4(this, "AABBTest4")); }
public override void Initialize() { base.Initialize(); ControlHandler ch = new ControlHandler(this); _ptm = new ParticleTestManager(this); var page = new Page(this, "Page"); page.Show(); _screeninfo = new Label(page, "ScreenInfo", new Point(0, 0)); _screeninfo.Body.Position = Vector2.One * 20; _strengthText = new Label(page, "StrengthText", new Point(0, 1)); _strengthText.Text = "Strength:"; _strengthText.Body.Position = new Vector2(20, 50); _strengthDown = new LinkLabel(page, "StrengthDown", new Point(1, 1)); _strengthDown.Text = "<-"; _strengthDown.Body.Position = new Vector2(_strengthText.Body.BoundingRect.Right + 5, 50); _strengthDown.OnDown += control => _ptm.Spawner.Strength -= STRENGTHSTEP; _strengthValue = new Label(page, "StrengthValue", new Point(2, 1)); _strengthValue.Text = _ptm.Spawner.Strength.ToString(); _strengthValue.Body.Position = new Vector2(_strengthDown.Body.BoundingRect.Right + 5, 50); _strengthUp = new LinkLabel(page, "StrengthUp", new Point(3, 1)); _strengthUp.Text = "->"; _strengthUp.Body.Position = new Vector2(_strengthValue.Body.BoundingRect.Right + 5, 50); _strengthUp.OnDown += control => _ptm.Spawner.Strength += STRENGTHSTEP; _gravityText = new Label(page, "GravityText", new Point(0, 2)); _gravityText.Text = "Gravity:"; _gravityText.Body.Position = new Vector2(20, 80); _gravityXDown = new LinkLabel(page, "GravityXDown", new Point(1, 2)); _gravityXDown.Text = "<-"; _gravityXDown.Body.Position = new Vector2(_gravityText.Body.BoundingRect.Right + 5, 80); _gravityXDown.OnDown += control => _ptm.Spawner.Acceleration.X -= GRAVITYSTEP; _gravityXValue = new Label(page, "GravityXValue", new Point(2, 2)); _gravityXValue.Text = "X:" + _ptm.Spawner.Acceleration.X.ToString(); _gravityXValue.Body.Position = new Vector2(_gravityXDown.Body.BoundingRect.Right + 5, 80); _gravityXUp = new LinkLabel(page, "GravityXUp", new Point(3, 2)); _gravityXUp.Text = "->"; _gravityXUp.Body.Position = new Vector2(_gravityXValue.Body.BoundingRect.Right + 5, 80); _gravityXUp.OnDown += control => _ptm.Spawner.Acceleration.X += GRAVITYSTEP; _gravityYDown = new LinkLabel(page, "GravityYDown", new Point(1, 3)); _gravityYDown.Text = "<-"; _gravityYDown.Body.Position = new Vector2(_gravityText.Body.BoundingRect.Right + 5, 110); _gravityYDown.OnDown += control => _ptm.Spawner.Acceleration.Y -= GRAVITYSTEP; _gravityYValue = new Label(page, "GravityYValue", new Point(2, 3)); _gravityYValue.Text = "Y:" + _ptm.Spawner.Acceleration.Y.ToString(); _gravityYValue.Body.Position = new Vector2(_gravityYDown.Body.BoundingRect.Right + 5, 110); _gravityYUp = new LinkLabel(page, "GravityYUp", new Point(3, 3)); _gravityYUp.Text = "->"; _gravityYUp.Body.Position = new Vector2(_gravityYValue.Body.BoundingRect.Right + 5, 110); _gravityYUp.OnDown += control => _ptm.Spawner.Acceleration.Y += GRAVITYSTEP; }