Beispiel #1
0
        /// <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;
        }
Beispiel #2
0
        /// <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;
            }
        }