示例#1
0
    IEnumerator PlaySequence(CutSceneEvent _event)
    {
        //Debug.Log("PlaySequence");

        _director.Play(_event.playable);

        yield return(new WaitForSeconds((float)_event.playable.duration));

        Next();
    }
示例#2
0
    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);
    }
示例#3
0
    //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);
    }
示例#4
0
    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();
    }
示例#5
0
 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--;
         }
     }
 }