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(); }
public BossArena(Arkanoid game, bool twoPlayer, LevelWadSelector selector, Vaus vaus) : base(game, twoPlayer, selector, vaus, 0) { Doh = new Doh(Game, this); }