public void EnqueueScript(ScenarioScript script)
 {
     scripts.Enqueue(script);
     if (!ExecutingScript)
     {
         ExecuteNextScript();
     }
 }
Example #2
0
 private void PlayScenarioScript(ScenarioScript scenarioScript)
 {
     scenarioScript.hasBeenPlayed = true;
     _scenarioUi.Show(scenarioScript);
     AudioManager.Sfx.Play("scenarioScript");
     if (scenarioScript.audioClip)
     {
         AudioManager.Voices.Play(scenarioScript.audioClip);
     }
 }
Example #3
0
 public void Show(ScenarioScript script)
 {
     if (singleCoroutine == null)
     {
         singleCoroutine = new SingleCoroutine(this);
     }
     _text.text = script.text;
     gameObject.SetActive(true);
     singleCoroutine.Start(HideAfter(Time.time + script.displayTime));
 }
Example #4
0
        public override void AddScript(ScenarioScript scenarioScript)
        {
            BlockCollection <HsScriptsBlock> scriptBlocks = scenarioValues._scriptsList;
            HsScriptsBlock scriptBlock = new HsScriptsBlock();

            scriptBlock.Name                = new FixedLengthString(scenarioScript.Name);
            scriptBlock.ReturnType          = new Enum(scenarioScript.ReturnType);
            scriptBlock.RootExpressionIndex = new LongInteger(scenarioScript.RootExpressionIndex * 0x10000);
            scriptBlock.ScriptType          = new Enum(scenarioScript.ScriptType);

            scriptBlocks.Add(scriptBlock);
        }
Example #5
0
        public override ScenarioScript[] GetScripts()
        {
            if (m_scripts == null)
            {
                BlockCollection <HsScriptsBlock> scriptBlocks = scenarioValues._scriptsList;
                m_scripts = new ScenarioScript[scriptBlocks.Count];

                for (int i = 0; i < scriptBlocks.Count; i++)
                {
                    m_scripts[i] =
                        new ScenarioScript(scriptBlocks[i].Name.Value, scriptBlocks[i].ScriptType.Value,
                                           scriptBlocks[i].ReturnType.Value,
                                           BitConverter.ToInt16(BitConverter.GetBytes(scriptBlocks[i].RootExpressionIndex.Value), 0));
                }
            }
            return(m_scripts);
        }
Example #6
0
 /// <summary>
 /// テキストファイルを読み込む
 /// </summary>
 /// <param name="ss">Scenario Script</param>
 public void UpdateLines(ScenarioScript ss)
 {
     if (ss.enemy_list.Count > 0)
     {
         battelEnemyList = ss.enemy_list;
     }
     isTutorial = ss.isTutorial;
     if (ss.fileName != "")
     {
         string filePath     = System.IO.Path.Combine(Application.streamingAssetsPath, "Scenario/" + ss.fileName + ".txt");
         string scenarioText = File.ReadAllText(filePath);
         if (scenarioText == null)
         {
             Debug.LogError("Scenario file not found");
             Debug.LogError("ScenarioManger not active");
             enabled = false;
             return;
         }
         string key = "0";
         if (ss.event_file != "")
         {
             string       js = EventManager.Instance.ReadFile(ss.event_file);
             EventCollect ec = EventManager.Instance.GetAllEvent(js);
             key = EventManager.Instance.GetEventKey(ec);
         }
         string[] scenarios = scenarioText.Split(new string[] { "\n" }, System.StringSplitOptions.None);
         m_scenarios   = getNowScenario(scenarios, key);
         m_currentLine = 0;
         isScenario    = true;
         if (ss.autoDestory)
         {
             Destroy(ss.gameObject);
         }
         ItweenMoveTo(hukidasi, new Vector3(0, -300, 0), 0.5f, "easeInOutBack", "RequestNextLine", this.gameObject);
     }
 }
Example #7
0
 public abstract void AddScript(ScenarioScript scenarioScript);