public void OnReceived(EBEvent e) { switch (e.type) { case EBEventType.RoomSpawningTrigger: RoomSpawningTriggerEvent rstee = (e as RoomSpawningTriggerEvent); if (rstee.action == TriggerAction.Enter) { if ((rstee.roomEntryId == id) && spawningEnabled) { roomsManager.DisableAllRoomScenes(); RoomScene room = roomsManager.GetRandomRoomScene(); AttachRoom(room); SetSpawningEnabled(false); room.ClearCollectibles(); Transform itemPlace = room.GetCollectiblePlaceholder(); if (itemPlace != null) { CollectibleItem item = itemsManager.GetItem(); if (item != null) { item.transform.parent = itemPlace; item.transform.position = itemPlace.position; item.transform.rotation = itemPlace.rotation; item.SetRoomScene(room); item.gameObject.SetActive(true); } } } if (rstee.roomEntryId != id) { SetSpawningEnabled(true); } } break; case EBEventType.DoorClosingTrigger: DoorClosingTriggerEvent dcte = (e as DoorClosingTriggerEvent); if ((dcte.roomEntryId == id) && (dcte.action == TriggerAction.Exit)) { CloseDoor(); } break; case EBEventType.HallMovingTriggerEntered: CloseDoor(); break; } }
public void OnReceived(EBEvent e) { if (e.type == EBEventType.RoomSpawningTrigger) { RoomSpawningTriggerEvent rste = e as RoomSpawningTriggerEvent; if (rste.roomEntryId != roomEntry.GetId()) { door.Unlock(); roomEntry.SetSpawningEnabled(true); RoomsManager manager = RoomsManager.GetManager(); manager.UnloadPrologue(); StartCoroutine(UnsubscribeOnNextUpdate()); } } }