Beispiel #1
0
        public PlayArena(Arkanoid game, bool twoPlayer, LevelWadSelector selector, Vaus vaus, int editLevelNumber,
                         Level editLevel = null, string editPath = null, bool demo = false)
            : base(game)
        {
            TwoPlayer     = twoPlayer;
            _editLevelNum = editLevelNumber;
            _editLevel    = editLevel;
            _editPath     = editPath;
            if (demo)
            {
                var w = Levels.Levels.Wads.Where(v => v.Levels.Count != 0).ToList();
                LevelSelector = new DemoLevelWadSelector(game, w[w.Count - 1], 0, false);
            }
            else
            {
                LevelSelector = selector;
            }
            if (LevelSelector != null)
            {
                LevelSelector.Initialise(this);

                if (LevelMap.TopLeftEntryEnable)
                {
                    EnimyEntries.Add(TopLeftEntry);
                }
                if (LevelMap.TopRightEntryEnable)
                {
                    EnimyEntries.Add(TopRightEntry);
                }

                if (LevelMap.SideRightTopEntryEnable)
                {
                    EnimyEntries.Add(SideRightTopEntry);
                }
                if (LevelMap.SideRightMidEntryEnable)
                {
                    EnimyEntries.Add(SideRightMidEntry);
                }
                if (LevelMap.SideLeftTopEntryEnable)
                {
                    EnimyEntries.Add(SideLeftTopEntry);
                }
                if (LevelMap.SideLeftMidEntryEnable)
                {
                    EnimyEntries.Add(SideLeftMidEntry);
                }

                NextEnimyRelease = new TimeSpan(0, 0,
                                                Arkanoid.Random.Next(LevelMap.MinEnimyRealeaseTime,
                                                                     LevelMap.MaxEnimyRealeaseTime));
            }
            NextBrickFlash = new TimeSpan(0, 0, 1);
            DemoMode       = demo;
            EndDemo        = new TimeSpan(0, 0, 2, 30);
            Vaus           = vaus ?? (demo ? new DemoVaus(game, this) : new Vaus(game, this, true, TwoPlayer));
            Vaus.PlayArena = this;
            Vaus.Reset();
        }
Beispiel #2
0
 public BossArena(Arkanoid game, bool twoPlayer, LevelWadSelector selector, Vaus vaus)
     : base(game, twoPlayer, selector, vaus, 0)
 {
     Doh = new Doh(Game, this);
 }