private void Form1_Load(object sender, EventArgs e) { MainGameEnginePanel mainGameEnginePanel = new MainGameEnginePanel(this, new Size(400, 200), new Point(0, 0)); gameManager = new GameManager(this, mainGameEnginePanel); Box2dGameObject leftTrigger = new Box2dGameObject(gameManager, new Point(-1, 0), new Size(1, 200)); leftTrigger.objectTag = "leftTrigger"; leftTrigger.colliding = true; Box2dGameObject rightTrigger = new Box2dGameObject(gameManager, new Point(400, 0), new Size(1, 200)); rightTrigger.objectTag = "rightTrigger"; rightTrigger.colliding = true; Box2dGameObject topSide = new Box2dGameObject(gameManager, new Point(0, -1), new Size(400, 1)); topSide.objectTag = "side"; topSide.colliding = true; Box2dGameObject bottomSide = new Box2dGameObject(gameManager, new Point(0, 200), new Size(400, 1)); bottomSide.objectTag = "side"; bottomSide.colliding = true; leftHandle = new Box2dGameObject(gameManager, new Point(25, 100), new Size(10, 50)); leftHandle.boxColor = Color.Green; leftHandle.colliding = true; leftHandle.objectTag = "handle"; rightHandle = new Box2dGameObject(gameManager, new Point(375, 100), new Size(10, 50)); rightHandle.boxColor = Color.Green; rightHandle.colliding = true; rightHandle.objectTag = "handle"; ballObject = new Box2dGameObject(gameManager, new Point(200, 100), new Size(10, 10)); ballObject.boxColor = Color.Black; Random r = new Random(); ballVelocities = new List <Point>() { new Point(ballSpeed, ballSpeed), new Point(-ballSpeed, -ballSpeed), new Point(-ballSpeed, ballSpeed), new Point(ballSpeed, -ballSpeed) }; ballObject.objectVelocity = ballVelocities[r.Next(0, ballVelocities.Count())]; ballObject.objectTag = "ball"; ballObject.colliding = true; ballObject.OnCollision += BallCollision; rightScoreText = new TextGameObject(gameManager, new Point(350, 0)); rightScoreText.text = rightScore.ToString(); leftScoreText = new TextGameObject(gameManager, new Point(20, 0)); leftScoreText.text = leftScore.ToString(); gameTimeText = new TextGameObject(gameManager, new Point(200, 0)); gameTimeText.text = "0"; List <GameObject> scene1GameObjects = new List <GameObject>() { leftHandle, rightHandle, ballObject, topSide, bottomSide, leftTrigger, rightTrigger }; GameScene gameScene = new GameScene(scene1GameObjects); gameManager.AddScene(gameScene); UiManager gameUi = new UiManager(); gameUi.AddWidget(gameTimeText); gameManager.AddUi(gameUi); victoryText = new TextGameObject(gameManager, new Point(200, 100)); GameScene victoryScene = new GameScene(); gameManager.AddScene(victoryScene); UiManager victoryUi = new UiManager(); victoryUi.AddWidget(victoryText); gameManager.AddUi(victoryUi); VictoryScoreAmountTextBox.Text = victoryScoreAmount.ToString(); BallSpeedTextBox.Text = ballSpeed.ToString(); gameManager.Tick += GameManager_Tick; }