private void OnTriggerEnter(Collider other) { if (!triggered) { triggered = true; dispatcher.SendEvent(new EBEvent() { type = EBEventType.HallEntered }); door.Close(); door.Lock(); if (other.gameObject.tag.Equals("Player")) { NoiseEffectsManager noiseEffectsManager = other.gameObject.GetComponentInChildren <NoiseEffectsManager>(); noiseEffectsManager.enabled = true; noiseEffectsManager.SetMonster(monster.transform); catchAnimation.Init( other.gameObject.GetComponentInChildren <Camera>(), other.gameObject.GetComponent <FirstPersonController>() ); monster.GetComponent <MonsterBehaviour>().SetMainTarget(other.transform); monster.GetComponent <CameraVisibilityChecker>().SetCamera(other.gameObject.GetComponentInChildren <Camera>()); } } }
public void OnReceived(EBEvent e) { switch (e.type) { case EBEventType.InteractionWithDoor: { DoorInteractionEvent die = e as DoorInteractionEvent; if (!isDoorTriggered && (die.door == door)) { isDoorTriggered = true; monster.SetActive(true); monster.GetComponent <CameraVisibilityChecker>().SetCamera(camera); monster.GetComponent <MonsterBehaviour>().SetMainTarget(controller.transform); NoiseEffectsManager noiseEffectsManager = controller.gameObject.GetComponentInChildren <NoiseEffectsManager>(); noiseEffectsManager.SetMonster(monster.transform); noiseEffectsManager.enabled = true; dispatcher.Subscribe(EBEventType.CaughtByMonster, address, gameObject); dispatcher.Subscribe(EBEventType.MonsterInFrustum, address, gameObject); } } break; case EBEventType.CaughtByMonster: StartCoroutine(EndingAnimation()); break; case EBEventType.MonsterInFrustum: controller.SetMouseLookEnabled(false); controller.SetHeadBobEnabled(false); controller.enabled = false; director.StartAnimating(camera, rotationTarget, camera.transform); break; } }
private void OnTriggerEnter(Collider other) { if (!triggered) { triggered = true; door.Close(); door.Lock(); Dispatcher.GetInstance().SendEvent(new EBEvent() { type = EBEventType.PositiveEpilogueEntered }); NoiseEffectsManager noiseEffectManager = other.gameObject.GetComponentInChildren <NoiseEffectsManager>(); noiseEffectManager.enabled = false; noiseEffectManager.SetMonster(null); RoomsManager manager = RoomsManager.GetManager(); manager.UnloadHall(); } }