public static void Update(GameTime gameTime) { if (mouseSqrCoords != null) { MouseScreenPos = new Vector2(mouseSqrCoords.x * SQUARESIZE, mouseSqrCoords.y * SQUARESIZE + BORDERTOP); } m_manPower = TroopListener.TroopList.Count(); UiSideScreen.Update(); UiTopScreen.Update(); QuestionPopUpManager.Update(); WaveManager.Update(gameTime); TowerManager.Update(); TroopManager.Update(gameTime); EffectManager.Update(gameTime); PopUpTextManager.Update(gameTime); PopUpNotificationManager.Update(gameTime); MessageBoxManager.Update(gameTime); if (BaseHealth <= 0) { if (EffectManager.EffectList.Count < 10) { for (int i = 0; i < 1; i++) { EffectManager.EffectCall(EffectManager.EffectEnums.Explosion, new Vector2(ENDPOINT.x * SQUARESIZE + rnd.Next(-30, 60), ENDPOINT.y * SQUARESIZE + BORDERTOP + rnd.Next(-30, 60)), true); } } GameState = GameStates.LoseScreen; } if (GameState == GameStates.LoseScreen && SaveData) { SaveData = false; Scores.AllTimeKills += WaveManager.EnemiesKilled; if (Scores.HighestWaveKills <= WaveManager.EnemiesKilled && Scores.HighestWave <= WaveManager.WaveNumber) { Scores.HighestWaveKills = WaveManager.EnemiesKilled; Scores.HighestWave = WaveManager.WaveNumber; } Scores.SaveData(Scores); } if (GameState == GameStates.PlayScreen && !SaveData) { SaveData = true; } if (HelpMode) { HelpDialogManager.Update(); } }
public static void Draw(SpriteBatch sb) { EffectManager.Draw(sb, 0); TowerManager.Draw(sb); EnemyManager.Draw(sb); TroopManager.Draw(sb); EffectManager.Draw(sb, 1); PopUpTextManager.Draw(sb); QuestionPopUpManager.Draw(sb); PopUpNotificationManager.Draw(sb); MessageBoxManager.Draw(sb); if (HelpMode) { HelpDialogManager.Draw(sb); } }
public void Update() { ghostImage = Art.GroundTexs; ghostCol = Color.White; sqrEdited = false; if (Input.WasLMBClicked) { canClick = true; } if (sqrCoord.counter == GameManager.DEFAULYDIST) { ghostImage = Art.BlockedSquare; squareInfo = "A blocked of square, solve this problem by building a trench or a tower here!"; } if (Building != BuildingType.Base) { if (!QuestionPopUpManager.QuestionUp) { if (!sqrCoord.CoordEqual(GameManager.STARTPOINT)) { if (rect.Contains(Input.MousePosition.ToPoint())) { if (GameManager.HelpMode) { if (!HelpDialogManager.Hovering) { HelpDialogManager.Hovering = true; } } GameManager.mouseSqrCoords = new Coordinates(sqrCoord.x, sqrCoord.y); if (Building == BuildingType.None && GameManager.BuildState == GameManager.BuildStates.Trench) { ghostImage = Art.getTrenchTex(GameManager.grid.sqrTexDecider((int)sqrCoord.x, (int)sqrCoord.y)); squareInfo = "A grass patch, build a trench here or concrete for tower foundations!"; } if (Building == BuildingType.Concrete) { squareInfo = "Build a tower on this concrete!"; } if (Building == BuildingType.Trench) { squareInfo = "A trench"; } if (Building == BuildingType.Tower) { squareInfo = "A tower"; } if (Input.WasLMBClicked && canClick && !WaveManager.WaveStarted) { BuildManager.Build(); sqrEdited = true; } if (GameManager.HelpMode) { HelpDialogManager.Add(new HelpDialog(squareInfo, Input.MousePosition)); } highlight = 0.5f; } else { highlight = 1; } } } else { highlight = 1; } } }