public void HandleDialogueEvent(DialogueEventsEnum dialogueEventsEnum, DialogueEvent dialogueEvent) { switch (dialogueEventsEnum) { case DialogueEventsEnum.FriendZoneShapeModification: friendZonesController.HandleFriendZoneShapeModificationEvent( (FriendZoneShapeModificationEvent)dialogueEvent); break; case DialogueEventsEnum.FriendAttractionModification: friendController.HandleFriendAttractionModificationEvent( (FriendAttractionModificationEvent)dialogueEvent); break; case DialogueEventsEnum.FriendAnimatorModification: friendController.HandleFriendAnimatorModificationEvent( (FriendAnimatorModificationEvent)dialogueEvent); break; case DialogueEventsEnum.MeResistanceModification: meController.HandleMeResistanceModificationEvent( (MeResistanceModificationEvent)dialogueEvent); break; case DialogueEventsEnum.MeSpeedModification: meController.HandleMeSpeedModificationEvent( (MeSpeedModificationEvent)dialogueEvent); break; case DialogueEventsEnum.GaugesModification: friendZonesController.HandleGaugesModificationEvent( (GaugesModificationEvent)dialogueEvent); break; case DialogueEventsEnum.InputsEnabling: inputManager.HandleInputsEnablingEvent( (InputsEnablingEvent)dialogueEvent); break; case DialogueEventsEnum.Blink: friendZonesController.HandleBlinkEvent( (BlinkEvent)dialogueEvent); break; case DialogueEventsEnum.GaugesDefill: friendZonesController.HandleGaugesDefillEvent(); break; case DialogueEventsEnum.SceneChange: HandleDialogueGraphEnd(); StartCoroutine( ScenesManager.LoadScene(((SceneChangeEvent)dialogueEvent).nextSceneName)); break; case DialogueEventsEnum.DialogueChange: HandleDialogueGraphEnd(); SetDialogueGraph(((DialogueChangeEvent)dialogueEvent).nextDialogue); break; default: return; } }