Example #1
0
        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();
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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;
                }
            }
        }