public void StartCutscene (CutsceneTypes cutsceneStarting) { currentCutscene = cutsceneStarting; numberOfReadyPlayers = 0; inCutscene = true; Transform waypointUsing = null; // Set up waypoints using for a cutscene if necessary. if(cutsceneStarting == CutsceneTypes.Run_In) waypointUsing = waypoints[0]; else if(cutsceneStarting == CutsceneTypes.Run_Out) waypointUsing = waypoints[1]; else if(cutsceneStarting == CutsceneTypes.Stage_Clear) waypointUsing = waypoints[2]; // Spot for player to run to before facing the camera. // Tell all players a cutscene is starting so they can do their own thing // for it. foreach(Transform player in Manager_Targeting.instance.playerTargets) { player.GetComponent<PlayerCutscene>().StartCutscene(cutsceneStarting, waypointUsing); } if(cutsceneStarting == CutsceneTypes.Run_Out) { // Disable the UI display and the camera's script when exiting a // scene. Manager_UI.instance.DisplayUI(false); Camera_BEU.instance.enabled = false; // The new scene will load after this gets called. Invoke("EndCutscene", 3); } // Tell the Manager_UI to start displaying the results. else if(cutsceneStarting == CutsceneTypes.Stage_Clear && !Manager_UI.instance.DisplayingResults) Manager_UI.instance.StartCoroutine("DisplayTheResults"); if(currentCutscene != CutsceneTypes.Stage_Clear) { // Have the cutscene borders play their opening animation. if(cutsceneBorders && animCutsceneBorders) animCutsceneBorders.Play ("Open"); } }
public void EndCutscene (CutsceneTypes cutsceneEnding) { _charStatus.InputChange (true); // Re-enable controls or AI. switch(cutsceneEnding) { case CutsceneTypes.Run_In: _charStatus.Vulnerable = true; break; // Update our stats for running out so that the Manager_Game can give // them back to us at the start of a new scene. case CutsceneTypes.Run_Out: if(_charStatus.PlayerNumber == 1) Manager_Game.StatsP1 = _charStatus.Stats; else if(_charStatus.PlayerNumber == 2) Manager_Game.StatsP2 = _charStatus.Stats; else if(_charStatus.PlayerNumber == 3) Manager_Game.StatsP3 = _charStatus.Stats; else if(_charStatus.PlayerNumber == 4) Manager_Game.StatsP4 = _charStatus.Stats; break; } }
// Called on us at the start of each cutscene. Play the correct // actions/coroutines for the cutscene. public void StartCutscene (CutsceneTypes cutsceneStarting, Transform waypoint = null) { _charStatus.InputChange (false); // Disable controls or AI. switch(cutsceneStarting) { case CutsceneTypes.Run_In: case CutsceneTypes.Run_Out: StartCoroutine(RunInOrOut(cutsceneStarting == CutsceneTypes.Run_In, waypoint)); break; case CutsceneTypes.Stage_Clear: StartCoroutine(StageClear(waypoint)); break; } }