Exemple #1
0
 /// <summary>
 /// Initializes a new Minimap class.
 /// </summary>
 /// <param name="entityComposer">The EntityComposer.</param>
 public Minimap(EntityComposer entityComposer)
 {
     _enemyPositions = new List<Vector2>();
     _currentEntityComposer = entityComposer;
     _projectilePositions = new List<Vector2>();
     _magicNumberX = 800/Width;
     _magicNumberY = 800/Height;
     Visible = true;
     _minimap = SGL.QueryComponents<ContentManager>().Load<Texture2D>("minimap.png");
 }
Exemple #2
0
 /// <summary>
 /// Initializes a new Minimap class.
 /// </summary>
 /// <param name="entityComposer">The EntityComposer.</param>
 public Minimap(EntityComposer entityComposer)
 {
     _enemyPositions        = new List <Vector2>();
     _currentEntityComposer = entityComposer;
     _projectilePositions   = new List <Vector2>();
     _magicNumberX          = 800 / Width;
     _magicNumberY          = 800 / Height;
     Visible  = true;
     _minimap = SGL.QueryComponents <ContentManager>().Load <Texture2D>("minimap.png");
 }
Exemple #3
0
        /// <summary>
        /// Initializes a new DebugDisplay class.
        /// </summary>
        /// <param name="entityComposer">The EntityComposer.</param>
        public DebugDisplay(EntityComposer entityComposer)
        {
            _currentEntityComposer = entityComposer;
            _gameLoop = SGL.QueryComponents<GameLoop>();

            _font = new Font("Segoe UI", 12, TypefaceStyle.Regular);
            _cpuWatcher = new CpuWatcher();
            _memoryWatcher = new MemoryWatcher();
            _threadWatcher = new ThreadWatcher();
            _display = new Rectangle(0, 0, 800, 480);
            _debugMessage = "Query information ...";
            _pen = new Pen(Color.Green, 1);
            _pen2 = new Pen(Color.Red, 1);
            _pen3 = new Pen(Color.Blue, 1);

            _cpuWatcher.Start();
            _memoryWatcher.Start();
            _threadWatcher.Start();
        }
Exemple #4
0
        /// <summary>
        /// Initializes a new DebugDisplay class.
        /// </summary>
        /// <param name="entityComposer">The EntityComposer.</param>
        public DebugDisplay(EntityComposer entityComposer)
        {
            _currentEntityComposer = entityComposer;
            _gameLoop = SGL.QueryComponents <GameLoop>();

            _font          = new Font("Segoe UI", 12, TypefaceStyle.Regular);
            _cpuWatcher    = new CpuWatcher();
            _memoryWatcher = new MemoryWatcher();
            _threadWatcher = new ThreadWatcher();
            _display       = new Rectangle(0, 0, 800, 480);
            _debugMessage  = "Query information ...";
            _pen           = new Pen(Color.Green, 1);
            _pen2          = new Pen(Color.Red, 1);
            _pen3          = new Pen(Color.Blue, 1);

            _cpuWatcher.Start();
            _memoryWatcher.Start();
            _threadWatcher.Start();
        }
Exemple #5
0
        /// <summary>
        /// Called if the scene is activated.
        /// </summary>
        public override void OnSceneActivated()
        {
            _entityComposer = new EntityComposer();
            _scoreBoard     = new Scoreboard();
            _debugDisplay   = new DebugDisplay(_entityComposer)
            {
                Visible = false
            };
            _minimap    = new Minimap(_entityComposer);
            _blackBlend = new BlackBlend {
                FadeIn = true
            };

            //load achievements

            var xmlManager = new XmlManager <AchievementManager>();

            try
            {
                _entityComposer.AchievementManager =
                    xmlManager.Load(Path.Combine(Environment.CurrentDirectory, "achievements.xml"));
            }
            catch
            {
                _entityComposer.AchievementManager = new AchievementManager();
                _entityComposer.AchievementManager.Achievements.Add(new EnemyDestroyedAchievement());
                _entityComposer.AchievementManager.Achievements.Add(new ScoreAchievement());
                _entityComposer.AchievementManager.Achievements.Add(new SustainAchievement());
                _entityComposer.AchievementManager.Achievements.Add(new LasterTimeAchievement());
                System.Diagnostics.Debug.WriteLine("Unable to load achievements.");
            }

            _achievementControl                    = new AchievementControl(UIManager);
            _achievementControl.Visible            = false;
            _achievementsOpen                      = false;
            _achievementControl.AchievementManager = _entityComposer.AchievementManager;

#if AUDIO_ENABLED
            //AudioManager.Instance.Sound.Play(SGL.QueryResource<Sound>("gameMusic.mp3"), PlayMode.Loop);
#endif
        }
Exemple #6
0
        private GameObject prefabCell;  // Префаб клетки

        public void Spawn(int width, int height, int countHouse = 2)
        {
            float offsetX = width / 2;
            float offsetZ = height / 2;

            // List<Point> indexHouses = RandomPoint(height, width, countHouse);
            List <Position> indexHouses = new List <Position>()
            {
                new Position(0, 0),
                new Position(3, 3)
            };

            for (int z = 0; z < height; z++)
            {
                for (int x = 0; x < width; x++)
                {
                    // Создание игровой клетки
                    var actor = this.Populate <Actor>(Pool.Entities, prefabCell, new Vector3(x - offsetX, 0, z - offsetZ));
                    actor.selfTransform.name = "Cell z:" + z + " x:" + x;

                    if (indexHouses.Count <= 0)
                    {
                        continue;
                    }

                    Position point = new Position(z, x);
                    if (indexHouses.Contains(point))
                    {
                        // Добавление компонента к сущности
                        var composer = new EntityComposer(actor.entity, 1);
                        composer.Add <ComponentHouse>();

                        composer.Deploy();
                    }
                }
            }
        }
Exemple #7
0
        /// <summary>
        /// Called if the scene is activated.
        /// </summary>
        public override void OnSceneActivated()
        {
            _entityComposer = new EntityComposer();
            _scoreBoard = new Scoreboard();
            _debugDisplay = new DebugDisplay(_entityComposer) {Visible = false};
            _minimap = new Minimap(_entityComposer);
            _blackBlend = new BlackBlend {FadeIn = true};

            //load achievements

            var xmlManager = new XmlManager<AchievementManager>();
            try
            {
                _entityComposer.AchievementManager =
                    xmlManager.Load(Path.Combine(Environment.CurrentDirectory, "achievements.xml"));
            }
            catch
            {
                _entityComposer.AchievementManager = new AchievementManager();
                _entityComposer.AchievementManager.Achievements.Add(new EnemyDestroyedAchievement());
                _entityComposer.AchievementManager.Achievements.Add(new ScoreAchievement());
                _entityComposer.AchievementManager.Achievements.Add(new SustainAchievement());
                _entityComposer.AchievementManager.Achievements.Add(new LasterTimeAchievement());
                System.Diagnostics.Debug.WriteLine("Unable to load achievements.");
            }

            _achievementControl = new AchievementControl(UIManager);
            _achievementControl.Visible = false;
            _achievementsOpen = false;
            _achievementControl.AchievementManager = _entityComposer.AchievementManager;

            #if AUDIO_ENABLED
            //AudioManager.Instance.Sound.Play(SGL.QueryResource<Sound>("gameMusic.mp3"), PlayMode.Loop);
            #endif
        }