public void NewGame() { Debug.Log("A new Game has been called"); // Get the game controller controller = GameController.instance.gameObject; control = controller.GetComponent <GameController>(); generator = controller.GetComponent <ArenaGenerator>(); generator.Generate(); control.CrackedCenterSetup(); control.SetGameSettings(this, settings, GetComponent <PlayerSkins>()); }
public void Show(GameServer server, GameClient client) { while (true) { arena = ArenaGenerator.Generate(server.GameAssets, seed, biome_count); UpdateItems(); ConsoleBuffer mapbuf = arena.MapBuffer(tempView); buffer = new ConsoleBuffer(); buffer.InsertBuffer(mapbuf, 0, 0); buffer.SetCursorPosition(mapbuf.Width, 0); buffer.WriteVertical("".PadRight(25, '▌')); buffer.SetCursorPosition(mapbuf.Width, 7); buffer.Write("█".PadRight(30, '─')); buffer.SetCursorPosition(mapbuf.Width + 1, 1); this.ReadMenu(); if (Selected == proitems.Length - 1) { return; } if (Selected == proitems.Length - 2) { GameState gs = new GameState(arena, max_players, port, game_name); server.Open(gs); IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), port); new ConnectingMenu().Show(client, ep); client.Close(); server.Close(); return; } } }
private static List <Level> GenerateLevels(int seed, int count) { count = Math.Max(2, count); var nameGenerator = new NameGenerator(seed); var levelGenerator = new LevelGenerator(seed, nameGenerator); var monsterClassesGenerator = new MonsterClassesGenerator(seed, nameGenerator); var itemClassesGenerator = new ItemClassesGenerator(seed, nameGenerator); var itemClasses = itemClassesGenerator.Generate(7, new ItemClassOptions { Level = 3, Rarity = 1 }, new ItemClassOptions { Level = 10, Rarity = 0.15 }, new ItemClassOptions { Level = 30, Rarity = 0.1 }); var monsterClasses = monsterClassesGenerator.Generate(5, new MonsterClassOptions { Skill = 0.5, Rarity = 0.02, Factory = (name, skill, health, attack, defence) => new Dimwit(name, attack, defence, health, health) }, new MonsterClassOptions { Skill = 0.6, Rarity = 0.04, Factory = (name, skill, health, attack, defence) => new Dimwit(name, attack, defence, health, health) }, new MonsterClassOptions { Skill = 0.6, Rarity = 0.06, Factory = (name, skill, health, attack, defence) => new Reptiloid(name, attack, defence, health, health, skill) }, new MonsterClassOptions { Skill = 0.7, Rarity = 0.1, Factory = (name, skill, health, attack, defence) => new Dimwit(name, attack, defence, health, health) }, new MonsterClassOptions { Skill = 0.7, Rarity = 0.2, Factory = (name, skill, health, attack, defence) => new Reptiloid(name, attack, defence, health, health, skill) }, new MonsterClassOptions { Skill = 0.8, Rarity = 1, Factory = (name, skill, health, attack, defence) => new Reptiloid(name, attack, defence, health, health, skill) }); var levels = new List <Level>(); var settings = FillDefaultSettings(); for (int i = 0; i < count - 1; i++) { levels.Add(levelGenerator.Generate(settings, monsterClasses, itemClasses)); if (i > 0) { levels[i - 1].SetNextLevel(levels[i]); } settings.Monsters.MinSkill += 0.1; settings.Monsters.MaxSkill += 0.1; if (i == 1) { settings.Items.MaxLevel = 100; } } var lastLevelSettigns = FillLastLevelSettings(); var lastLevelMonsterClasses = monsterClassesGenerator.Generate(1, new MonsterClassOptions { Skill = 1.2, Rarity = 1, Factory = (name, skill, health, attack, defence) => new ArenaFighter(name, attack, defence, health, health, skill) }); var lastLevel = new ArenaGenerator(seed, nameGenerator).Generate(lastLevelSettigns, lastLevelMonsterClasses, itemClasses); levels[levels.Count - 1].SetNextLevel(lastLevel); levels.Add(lastLevel); return(levels); }