public void GetLeverStatus(LeverLocation LeverLocation) { switch (LeverLocation) { case LeverLocation.Left: _playback.EnqueueQueue(ref _acLeft, AudioType.VoiceOver); break; case LeverLocation.Middle: _playback.EnqueueQueue(ref _acMiddle, AudioType.VoiceOver); break; case LeverLocation.Right: _playback.EnqueueQueue(ref _acRight, AudioType.VoiceOver); break; } switch (_levers[(int)LeverLocation]) { case LeverPosition.low: _playback.EnqueueQueue(ref _acLow, AudioType.VoiceOver); break; case LeverPosition.mid: _playback.EnqueueQueue(ref _acMid, AudioType.VoiceOver); break; case LeverPosition.high: _playback.EnqueueQueue(ref _acHigh, AudioType.VoiceOver); break; } _playback.PlayAudioQueue(AudioType.VoiceOver); }
public void Create() { Vector3 pos = Vector3.up * -y * generator.roomHeight + Vector3.right * -x * generator.roomWidth; GameObject prefab; if (isEggRoom) { GameStateManager gsManager = GameObject.Find("GameState").GetComponent <GameStateManager> (); GameObject eggRoom = generator.eggRoomPrefab[generator.rand.Next(generator.eggRoomPrefab.Count)]; prefab = Instantiate(eggRoom, pos, Quaternion.identity) as GameObject; // get the position of the egg EggDummy eggID = prefab.GetComponentInChildren <EggDummy>(); Vector3 eggPos = eggID.transform.position; Destroy(eggID.gameObject); gsManager.SpawnEgg(eggPos); for (int i = 0; i < 4; i++) { if (!connectedRooms [i]) { GameObject wall = Instantiate(generator.sealingWallNSEWPrefabs [i], pos, Quaternion.identity) as GameObject; wall.transform.parent = prefab.transform; } } prefab.transform.parent = generator.gameObject.transform; return; } if (isTrapRoom) { GameStateManager gsManager = GameObject.Find("GameState").GetComponent <GameStateManager> (); GameObject trapRoom = generator.trapRoomPrefab; prefab = Instantiate(trapRoom, pos, Quaternion.identity) as GameObject; // get the position of the egg TrapLocation trapLoc = prefab.GetComponentInChildren <TrapLocation>(); Vector3 trapPos = trapLoc.transform.position; LeverLocation leverLoc = prefab.GetComponentInChildren <LeverLocation>(); Vector3 leverPos = leverLoc.transform.position; Destroy(trapLoc.gameObject); Destroy(leverLoc.gameObject); for (int i = 0; i < 4; i++) { if (!connectedRooms [i]) { GameObject wall = Instantiate(generator.sealingWallNSEWPrefabs [i], pos, Quaternion.identity) as GameObject; wall.transform.parent = prefab.transform; } } prefab.transform.parent = generator.gameObject.transform; SafariManager safariManager = GameObject.Find("GameState").GetComponent <SafariManager> (); safariManager.Spawn(trapPos, leverPos); return; } if (this.dist == 0) { Debug.Log("Room " + x + ", " + y + " has dist 0"); prefab = Instantiate(generator.startRoomPrefab, pos, Quaternion.identity) as GameObject; for (int i = 0; i < 4; i++) { if (!connectedRooms [i]) { GameObject wall = Instantiate(generator.sealingWallNSEWPrefabs [i], pos, Quaternion.identity) as GameObject; wall.transform.parent = prefab.transform; } } prefab.transform.parent = generator.gameObject.transform; prefab.GetComponentInChildren <LevelTypeDescription> ().description = generator.levelDescription; return; } if (hasTreasure) { Debug.Log("Adding treasure to Room " + x + ", " + y); prefab = Instantiate(generator.treasureRoomPrefab, pos, Quaternion.identity) as GameObject; for (int i = 0; i < 4; i++) { if (!connectedRooms [i]) { GameObject wall = Instantiate(generator.sealingWallNSEWPrefabs [i], pos, Quaternion.identity) as GameObject; wall.transform.parent = prefab.transform; } } prefab.transform.parent = generator.gameObject.transform; return; } if (connectedRooms[(int)Direction.NORTH] && connectedRooms[(int)Direction.SOUTH] && connectedRooms[(int)Direction.EAST] && connectedRooms[(int)Direction.WEST]) { prefab = generator.omniPrefabs[generator.rand.Next(generator.omniPrefabs.Count)]; } else if (connectedRooms [(int)Direction.NORTH] && connectedRooms [(int)Direction.EAST] && connectedRooms [(int)Direction.WEST]) { prefab = generator.northEastWestPrefabs[generator.rand.Next(generator.northEastWestPrefabs.Count)]; } else if (connectedRooms [(int)Direction.NORTH] && connectedRooms [(int)Direction.EAST] && connectedRooms [(int)Direction.SOUTH]) { prefab = generator.northEastSouthPrefabs[generator.rand.Next(generator.northEastSouthPrefabs.Count)]; } else if (connectedRooms [(int)Direction.NORTH] && connectedRooms [(int)Direction.SOUTH] && connectedRooms [(int)Direction.WEST]) { prefab = generator.northSouthWestPrefabs[generator.rand.Next(generator.northSouthWestPrefabs.Count)]; } else if (connectedRooms [(int)Direction.SOUTH] && connectedRooms [(int)Direction.EAST] && connectedRooms [(int)Direction.WEST]) { prefab = generator.southEastWestPrefabs[generator.rand.Next(generator.southEastWestPrefabs.Count)]; } else if (connectedRooms [(int)Direction.NORTH] && connectedRooms [(int)Direction.EAST]) { prefab = generator.northEastPrefabs[generator.rand.Next(generator.northEastPrefabs.Count)]; } else if (connectedRooms [(int)Direction.NORTH] && connectedRooms [(int)Direction.WEST]) { prefab = generator.northWestPrefabs[generator.rand.Next(generator.northWestPrefabs.Count)]; } else if (connectedRooms [(int)Direction.NORTH] && connectedRooms [(int)Direction.SOUTH]) { prefab = generator.northSouthPrefabs[generator.rand.Next(generator.northSouthPrefabs.Count)]; } else if (connectedRooms [(int)Direction.SOUTH] && connectedRooms [(int)Direction.EAST]) { prefab = generator.southEastPrefabs[generator.rand.Next(generator.southEastPrefabs.Count)]; } else if (connectedRooms [(int)Direction.SOUTH] && connectedRooms [(int)Direction.WEST]) { prefab = generator.southWestPrefabs[generator.rand.Next(generator.southWestPrefabs.Count)]; } else if (connectedRooms [(int)Direction.WEST] && connectedRooms [(int)Direction.EAST]) { prefab = generator.eastWestPrefabs[generator.rand.Next(generator.eastWestPrefabs.Count)]; } else if (connectedRooms [(int)Direction.NORTH]) { prefab = generator.northPrefabs[generator.rand.Next(generator.northPrefabs.Count)]; } else if (connectedRooms [(int)Direction.EAST]) { prefab = generator.eastPrefabs[generator.rand.Next(generator.eastPrefabs.Count)]; } else if (connectedRooms [(int)Direction.WEST]) { prefab = generator.westPrefabs[generator.rand.Next(generator.westPrefabs.Count)]; } else { prefab = generator.southPrefabs[generator.rand.Next(generator.southPrefabs.Count)]; } GameObject tile = Instantiate(prefab, pos, Quaternion.identity) as GameObject; tile.transform.parent = generator.gameObject.transform; }