public void LoadBaseLevel() { loading = true; MazeRoom mainRoom = new MazeRoom(new Rect(5, 5, 11, 11)); LevelDepthConfig depthConfig = generalLevelConfig.GetLevelDepthConfiguration(-1); LevelConfig levelConfig = Resources.Load <LevelConfig>("LevelConfigs/base"); levelConfig.Randomize(); MapGenerator.Initialize(levelConfig, depthConfig, ReadyWithBase); //MazeCarver carver = mapGenerator.InitializeCarver(worldRect, mapGenerator, levelConfig, depthConfig); MazeCarver carver = MapGenerator.InitializeCarver(); MapGenerator.PlaceRoom(mainRoom); carver.FillWithHallway(); //carver.RemoveFalseWalls(); carver.Create3DWalls(); carver.CreateNavMeshes(); mapPopulator = MapGenerator.InitializeMapPopulator(); //mapPopulator.SpawnKeyAt(mapGenerator.GetScaled(new Vector3(10, 10, 0))); SpawnWandAt(new Vector3(9, 9, 0), depthConfig.PowerLevel); SpawnWandAt(new Vector3(7, 9, 0), depthConfig.PowerLevel); SpawnWandAt(new Vector3(9, 7, 0), depthConfig.PowerLevel); Dummy dummyPrefab = Resources.Load <Dummy>("Dummy"); Dummy dummy = Instantiate(dummyPrefab, MapGenerator.transform); dummy.transform.position = MapGenerator.GetScaled(new Vector3(13, 13, 0)); mapPopulator.SpawnEndAt(MapGenerator.GetScaled(new Vector3(10, 10, 0))); player = mapPopulator.SpawnPlayerAt(MapGenerator.GetScaled(new Vector3(7, 7, 0))); mapPopulator.SetUpCamera(player); //fullscreenFade.FadeOut(ReadyWithBase); }
public void Initialize(LevelConfig levelConfig, LevelDepthConfig levelDepthConfig, GenerationComplete callback) { completeCallback = callback; depthConfig = levelDepthConfig; config = levelConfig; mapPopulatorPrefab = Resources.Load <MapPopulator>("MapPopulator"); world = new Rect(0, 0, config.Width, config.Height); rooms = new List <MazeRoom>(); Debug.Log("Creating world with size: " + config.Width + ", " + config.Height); }
public void Initialize() { floors = GameObject.Find("Floor")?.GetComponent <Tilemap>(); walls = GameObject.Find("Walls")?.GetComponent <Tilemap>(); pits = GameObject.Find("Pits")?.GetComponent <Tilemap>(); _random = new MillerParkLCG(); _timer = new Timer(); _mapPainter = new MapPainter(); _mapPainter.Initialize(selectedDungeonData.tileSet, selectedDungeonData.pitSet, floors, walls, pits); _mapPopulator = new MapPopulator(); _mapPopulator.Initialize(_random, selectedDungeonData.interactiveObjects, selectedDungeonData.spawnables, selectedDungeonData.trapSet, _mapPainter); }
public MapPopulator InitializeMapPopulator() { MapPopulator = Instantiate(mapPopulatorPrefab); MapPopulator.Initialize(this, depthConfig); return(MapPopulator); }