void Start() { FindDataContainer(); firstPersonCamera = container.FirstPersonCamera; spawnRoom = GetComponent <SpawnRoom>(); if (Session.Status == SessionStatus.ErrorPermissionNotGranted) { StartCoroutine(CodelabUtils.ToastAndExit( "Camera permission is needed to run this application.", 5)); } else if (Session.Status.IsError()) { StartCoroutine(CodelabUtils.ToastAndExit( "ARCore encountered a problem connecting. Please restart the app.", 5)); } }
void Start() { rooms = GameObject.FindWithTag("Rooms").GetComponent <SpawnRoom>(); }
private IEnumerator StartGeneration() { yield return(null); DDebugTimer.Start(); stopwatch.Start(); generationComplete = false; rooms = new List <Room>(); doors = new List <Door>(); int spawn = random.range(0, data.sets[dungeonSet].spawns.Count - 1); GameObject room = (GameObject)Instantiate(data.sets[dungeonSet].spawns[spawn].gameObject); startRoom = room; rooms.Add(room.GetComponent <Room>()); room.transform.parent = this.gameObject.transform; room.transform.localPosition = Vector3.zero; openSet.Add(room.GetComponent <EL.Dungeon.Room>()); room.GetComponent <Volume>().RecalculateBounds(); AddGlobalVoxels(room.GetComponent <Volume>().voxels); roomsCount++; while (openSet.Count > 0 && (!generateWithTimer || stopwatch.ElapsedMilliseconds < MaxGenerationTime)) { stopwatch.Reset(); GenerateNextRoom(); if (UseEnumaration) { yield return(new WaitForSeconds(GenerationDelay)); } stopwatch.Start(); } //TODO: Do a pass on all rooms to try to replace dead ends with room that connect them //Init the player/walker SpawnRoom spawnRoom = startRoom.GetComponent <SpawnRoom>(); GameObject walker = Instantiate(WalkerPrefab, spawnRoom.SpawnPosition.position, spawnRoom.SpawnPosition.rotation); var controller = walker.GetComponent <TwitchPlayerController>(); controller.TargetDoor = spawnRoom.doors[0]; //process doors for (int i = 0; i < rooms.Count; i++) { for (int j = 0; j < rooms[i].doors.Count; j++) { if (rooms[i].doors[j].door == null && rooms[i].doors[j].sharedDoor != null) { Door d = ((GameObject)Instantiate(data.sets[dungeonSet].doors[0].gameObject)).GetComponent <Door>(); doors.Add(d); rooms[i].doors[j].door = d; rooms[i].doors[j].sharedDoor.door = d; // d.gameObject.transform.position = rooms[i].doors[j].transform.position; d.gameObject.transform.rotation = rooms[i].doors[j].transform.rotation; d.gameObject.transform.parent = this.gameObject.transform; } } } //locked doors and keys, etc come next. generationComplete = true; Debug.Log("DungeonGenerator::Generation completed : " + DDebugTimer.Lap() + "ms"); }
private void Start() { rooms = GameObject.FindWithTag("Rooms").GetComponent <SpawnRoom>(); name = this.transform.parent.name; words = name.Split(' '); }