IEnumerator PlaySequence(CutSceneEvent _event) { //Debug.Log("PlaySequence"); _director.Play(_event.playable); yield return(new WaitForSeconds((float)_event.playable.duration)); Next(); }
public static void addCutsceneEventFront(CutSceneClass CutsceneEventInput, GameObject CutsceneTargetInput, bool WaitInput, GameDataTracker.cutsceneModeOptions CutsceneModeInput) { CutSceneEvent newEvent = new CutSceneEvent(); newEvent.CutsceneEvent = CutsceneEventInput; newEvent.CutsceneTarget = CutsceneTargetInput; newEvent.Wait = WaitInput; newEvent.CutsceneMode = CutsceneModeInput; newEvent.CameraFocus = null; newEvent.CameraOffset = Vector3.zero; CutsceneQueue.Insert(0, newEvent); }
//WAYS TO ADD CUTSCENE EVENTS----------------------------------------------------------------------- public static void addCutsceneEvent(CutSceneClass CutsceneEventInput, GameObject CutsceneTargetInput, bool WaitInput, GameDataTracker.cutsceneModeOptions CutsceneModeInput, GameObject CameraFocusInput, Vector3 CameraOffsetInput) { CutSceneEvent newEvent = new CutSceneEvent(); newEvent.CutsceneEvent = CutsceneEventInput; newEvent.CutsceneTarget = CutsceneTargetInput; newEvent.Wait = WaitInput; newEvent.CutsceneMode = CutsceneModeInput; newEvent.CameraFocus = CameraFocusInput; newEvent.CameraOffset = CameraOffsetInput; CutsceneQueue.Add(newEvent); }
private void StartDialogue(CutSceneEvent _event) { // Setup visuals if (_event.dialogue.speaker != null) { _nameText.text = _event.dialogue.speaker.name; _face.sprite = _event.dialogue.speaker.sprite; _nameBox.color = _event.dialogue.speaker.cloths; _frameLeft.color = _event.dialogue.speaker.hair; _frameRight.color = _event.dialogue.speaker.hair; //_nameText.font = _event.dialogue.speaker.font; _dialogueText.font = _event.dialogue.speaker.font; } else { _nameText.text = "MISSING"; _face.sprite = null; _nameBox.color = Color.gray; _frameLeft.color = Color.gray; _frameRight.color = Color.gray; } _textLocked = true; _animator.SetBool(IsOpen, true); _sentences.Clear(); foreach (string sentence in _event.dialogue.sentences) { _sentences.Enqueue(sentence); } /*foreach (AudioClip clip in _event.dialogue.clips) * { * _voices.Enqueue(clip); * }*/ DisplayNextSentence(); }
public static void Update() { if (CutscenesPlaying == 0 && CutsceneQueue.Count > 0) { bool keepPlaying = true; while (keepPlaying) { CutSceneEvent eventInitiation = CutsceneQueue[0]; eventInitiation.CutsceneEvent.parent = eventInitiation.CutsceneTarget; bool keep = eventInitiation.CutsceneEvent.Activate(); if (eventInitiation.Wait == true || CutsceneQueue.Count == 1) { keepPlaying = false; } GameDataTracker.cutsceneMode = eventInitiation.CutsceneMode; if (keep) { CutsceneActive.Add(eventInitiation); CutscenesPlaying++; } CutsceneQueue.Remove(eventInitiation); } } if (CutscenesPlaying == 0 && CutsceneQueue.Count == 0 && GameDataTracker.cutsceneMode != GameDataTracker.cutsceneModeOptions.Mobile && !GameDataTracker.transitioning) { GameDataTracker.cutsceneMode = GameDataTracker.cutsceneModeOptions.Mobile; } for (int i = CutsceneActive.Count; i > 0; i--) { CutSceneEvent cutscene = CutsceneActive[i - 1]; bool delete = cutscene.CutsceneEvent.Update(); if (delete) { CutsceneActive.Remove(cutscene); CutscenesPlaying--; } } }