public void InitGame() { //var game = Control.Instance; //this.visualization.PrintStartMessage(); //var labyrinth = game.Setup.SetupNewLabyrinth(); //game.State.IsInitialized = true; IObjectFactory instanceFactory = new ObjectFactory(); Labyrinth labyrinth = new Labyrinth(LabyrinthSize, LabyrinthSize, instanceFactory); GameObjectsGenerator generator = new GameObjectsGenerator(); generator.GenerateObjectsNew(labyrinth); this.visualization.PrintMessage("Labyrinth is Ready"); this.visualization.DrawLabyrinth(labyrinth); MovesFactory movesFactory = new MovesFactory(labyrinth); while (!labyrinth.State.IsFinished) { IMoves move = this.visualization.GetUserCommand(movesFactory); move.Move(); this.visualization.DrawLabyrinth(labyrinth); } }
public static void InitializeWithScene() { initSettings = InitializeSettings.LoadFromResources(); entityManager = World.Active.GetOrCreateManager <EntityManager>(); LevelGenerator.ImportWater(entityManager, waterArchetype, initSettings); LevelGenerator.ImportMap(entityManager, blockArchetype, initSettings); GameObjectsGenerator.ImportPlayer(entityManager, playerArchetype, initSettings); GameObjectsGenerator.ImportEnemy(entityManager, enemyArchetype, initSettings); GameObjectsGenerator.ImportItem(entityManager, itemArchetype, initSettings); }
public void ReLoadScene() { EntityManager em = World.Active.GetOrCreateManager <EntityManager>(); InitializeSettings initSettings = InitializeSettings.LoadFromResources(); EntityArchetype playerArchetype; EntityArchetype enemyArchetype; EntityArchetype itemArchetype; EntityArchetype blockArchetype; EntityArchetype waterArchetype; int levelLength = initSettings.levelLength; int levelHeight = initSettings.levelHeight; NativeArray <Entity> sector = new NativeArray <Entity>(500, Allocator.Temp); sector = em.GetAllEntities(Allocator.Temp); for (int i = 0; i < sector.Length; i++) { em.DestroyEntity(sector[i]); } playerArchetype = ObjectsEntityFactory.CreatePlayerArchetype(em); enemyArchetype = ObjectsEntityFactory.CreateEnemyArchetype(em); itemArchetype = ObjectsEntityFactory.CreateItemArchetype(em); blockArchetype = ObjectsEntityFactory.CreateBlockArchetype(em); waterArchetype = ObjectsEntityFactory.CreateWaterArchetype(em); LevelGenerator.ImportWater(em, waterArchetype, initSettings); LevelGenerator.ImportMap(em, blockArchetype, initSettings); GameObjectsGenerator.ImportPlayer(em, playerArchetype, initSettings); GameObjectsGenerator.ImportEnemy(em, enemyArchetype, initSettings); GameObjectsGenerator.ImportItem(em, itemArchetype, initSettings); }