/// <summary>Transition to cinematic camera for attack.</summary> /// <param name="LoR">Direction, Left or Right, for the camera that will be focused</param> /// <param name="type">Type of attack that will be passed to the cinematic class to show the proper animations</param> /// <returns>Returns whether the transition was processed sucessfully (Are inputs being blocked?)</returns> public bool Transition(Direction LoR, CinematicType type) { if (blockInputs || classState == CameraState.Full) { return(false); } //If transitioning to fullscreen left if (LoR == Direction.Left) { leftCamera.material.SetTexture("_Mask", fullScreen); leftCamera.transform.SetAsFirstSibling(); director.PlayCutscene(LoR, type); } //If transitioning to fullscreen right else { rightCamera.material.SetTexture("_Mask", fullScreen); rightCamera.transform.SetAsFirstSibling(); director.PlayCutscene(LoR, type); } StartCoroutine(SwitchCameras(LoR, CameraState.Split)); classState = CameraState.Full; return(true); }
public void StartCinematic(CinematicType type) { if (type < 0) { return; } currentCinematic = (int)type; if (type == CinematicType.Realtime) { EventManager.TriggerEvent("Pause", true); RealtimeCameraMode(true); cinematicTimeline.Play(); } else { if (videoPlayer.source == VideoSource.VideoClip && videoPlayer.clip == null) { Debug.LogWarning("Pre-rendered video clip not set!"); } else { EventManager.TriggerEvent("Pause", true); videoPlayer.Play(); } } }
///<summary>Plays the appropriate cutscene and waits for its completion</summary> private IEnumerator PlayAndWaitForCutscene(Direction side, CinematicType cinematic) { //Play the corresponding timeline directors[(int)side, (int)cinematic].Play(); //Waits for cutscene to finish but also takes into account the transition back to splitscreen time yield return(new WaitForSeconds((float)directors[(int)side, (int)cinematic].duration - TransitionCameras.resetTime)); //Calls the transition back trans.Transition(side); }
///<summary>Start a coroutine that will play the correct cutscene and wait for it to finish</summary> public void PlayCutscene(Direction focusedSide, CinematicType cinematicType) { StartCoroutine(PlayAndWaitForCutscene(focusedSide, cinematicType)); }
public void ResetVariables() { cinematicType = CinematicType.None; }