public override void Update() { MouseState mouse_state = Mouse.GetState(); // Gets the mouse state object Point mouse_position = new Point(mouse_state.X, mouse_state.Y); // creates a point for the mouse's position if (isStartButtonClicked) { if (mouse_state.LeftButton == ButtonState.Released) { mStartPlayer = GlobalAccessors.mPlayer1; //mStartPlayer.AddProgram(new HackerFactory()); //mStartPlayer.AddProgram(new Hacker2Factory()); //mStartPlayer.AddProgram(new MemManFactory()); mStartPlayer.AddProgram(new SniperFactory()); //mStartPlayer.AddProgram(new Sniper2Factory()); if (mStartPlayer.KelvinMode) { mStartPlayer.AddProgram(new KelvinFactory()); } //mStartPlayer.AddProgram(new TrojanFactory()); //mStartPlayer.AddProgram(new Trojan2Factory()); //mStartPlayer.IsHacked = false; StoryTellingGameState new_state = new StoryTellingGameState(); Mediator.Notify("haxxit.engine.state.change", this, new ChangeStateEventArgs(new_state)); //TODO //DEBUG CODE REMOVE BEFORE RELEASE //mStartPlayer.AddHackedNode("Node1"); //mStartPlayer.AddHackedNode("Node2"); //----------------------------------------- } } if (isCreditsButtonClicked) { if (mouse_state.LeftButton == ButtonState.Released) { CreditsGameState new_state = new CreditsGameState(); Mediator.Notify("haxxit.engine.state.change", this, new ChangeStateEventArgs(new_state)); } } if (isOptionsButtonClicked) { if (mouse_state.LeftButton == ButtonState.Released) { OptionsGameState new_state = new OptionsGameState(); Mediator.Notify("haxxit.engine.state.change", this, new ChangeStateEventArgs(new_state)); } } if (isExitButtonClicked) { if (mouse_state.LeftButton == ButtonState.Released) { GlobalAccessors.mGame.Exit(); } } //Update for Start Button if (startGameRect.Contains(mouse_position) && mouse_state.LeftButton == ButtonState.Pressed) { //rectColor = Color.Red; isStartButtonClicked = true; } // if hovering over rectangle else if (startGameRect.Contains(mouse_position)) { //rectColor = Color.Yellow; } else // neither clicking nor hovering over rectangle { //rectColor = Color.Green; isStartButtonClicked = false; } //Update for Options Button if (optionsRect.Contains(mouse_position) && mouse_state.LeftButton == ButtonState.Pressed) { //rectColor = Color.Red; isOptionsButtonClicked = true; } // if hovering over rectangle else if (optionsRect.Contains(mouse_position)) { //rectColor = Color.Yellow; } else // neither clicking nor hovering over rectangle { //rectColor = Color.Green; isOptionsButtonClicked = false; } //Update for Credits Button if (creditsRect.Contains(mouse_position) && mouse_state.LeftButton == ButtonState.Pressed) { //rectColor = Color.Red; isCreditsButtonClicked = true; } // if hovering over rectangle else if (creditsRect.Contains(mouse_position)) { //rectColor = Color.Yellow; } else // neither clicking nor hovering over rectangle { //rectColor = Color.Green; isCreditsButtonClicked = false; } //Update for Credits Button if (exitRect.Contains(mouse_position) && mouse_state.LeftButton == ButtonState.Pressed) { //rectColor = Color.Red; isExitButtonClicked = true; } // if hovering over rectangle else if (exitRect.Contains(mouse_position)) { //rectColor = Color.Yellow; } else // neither clicking nor hovering over rectangle { //rectColor = Color.Green; isExitButtonClicked = false; } }