NScumm.Scumm.ScummEngine.CheckAndRunSentenceScript C# (CSharp) Метод

CheckAndRunSentenceScript() защищенный Метод

protected CheckAndRunSentenceScript ( ) : void
Результат void
        protected virtual void CheckAndRunSentenceScript()
        {
            var sentenceScript = Game.Version <= 2 ? 2 : _variables[VariableSentenceScript.Value];

            if (IsScriptInUse(sentenceScript))
            {
                for (var i = 0; i < NumScriptSlot; i++)
                    if (_slots[i].Number == sentenceScript && _slots[i].Status != ScriptStatus.Dead &&
                        !_slots[i].Frozen)
                        return;
            }

            if (SentenceNum == 0 || _sentence[SentenceNum - 1].IsFrozen)
                return;

            SentenceNum--;
            var st = _sentence[SentenceNum];

            if (Game.Version < 7 && st.Preposition && st.ObjectB == st.ObjectA)
                return;

            int[] data;
            if (Game.Version <= 2)
            {
                data = new int[0];
                Variables[VariableActiveVerb.Value] = st.Verb;
                Variables[VariableActiveObject1.Value] = st.ObjectA;
                Variables[VariableActiveObject2.Value] = st.ObjectB;
                Variables[VariableVerbAllowed.Value] = GetVerbEntrypointCore(st.ObjectA, st.Verb);
            }
            else
            {
                data = new int[] { st.Verb, st.ObjectA, st.ObjectB };
            }

            CurrentScript = 0xFF;
            if (sentenceScript != 0)
            {
                RunScript(sentenceScript, false, false, data);
            }
        }
ScummEngine