/// <summary> /// Lance le script de démarrage et crée la save de stage si non existente /// </summary> public void LaunchEndingScript() { VO_GameStateStage stage = GameState.State.Stages.Find(p => p.StageId == CurrentStageGuid); if (stage == null) { //On crée le stage dans l'instance de jeu stage = new VO_GameStateStage(); stage.StageId = CurrentStageGuid; GameState.State.Stages.Add(stage); } if (!stage.EndScriptDone) { //Première fois if (_Stage.EndingFirstScript.Lines.Count > 0) { VO_RunningScript endFirstScript = new VO_RunningScript(); endFirstScript.Id = _Stage.EndingFirstScript.Id; endFirstScript.Lines = _Stage.EndingFirstScript.Lines; ScriptManager.CurrentScript = endFirstScript; } else { ScriptManager.CurrentScript = null; } stage.StartScriptDone = true; } else if (_Stage.EndingScript.Lines.Count > 0) { //Fois suivantes VO_RunningScript script = new VO_RunningScript(); script.Id = _Stage.EndingScript.Id; script.Lines = _Stage.EndingScript.Lines; ScriptManager.CurrentScript = script; } else { ScriptManager.CurrentScript = null; } _LaunchedEndingScripts = true; }
/// <summary> /// Lance le script de démarrage et crée la save de stage si non existente /// </summary> public void LaunchStartingScript() { if (IgnoreStartingScripts) { IgnoreStartingScripts = false; return; } VO_GameStateStage stage = GameState.State.Stages.Find(p => p.StageId == CurrentStageGuid); if (stage == null) { //On crée le stage dans l'instance de jeu stage = new VO_GameStateStage(); stage.StageId = CurrentStageGuid; GameState.State.Stages.Add(stage); } if (!stage.StartScriptDone) { //Première fois if (_Stage.StartingFirstScript.Lines.Count > 0) { VO_RunningScript firstScript = new VO_RunningScript(); firstScript.Id = _Stage.StartingFirstScript.Id; firstScript.Lines = _Stage.StartingFirstScript.Lines; ScriptManager.CurrentScript = firstScript; } stage.StartScriptDone = true; } else if (_Stage.StartingScript.Lines.Count > 0) { //Fois suivantes VO_RunningScript script = new VO_RunningScript(); script.Id = _Stage.StartingScript.Id; script.Lines = _Stage.StartingScript.Lines; ScriptManager.CurrentScript = script; } }