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

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

protected StopObjectScriptCore ( ushort script ) : void
script ushort
Результат void
        protected void StopObjectScriptCore(ushort script)
        {
            if (script == 0)
                return;

            for (var i = 0; i < NumScriptSlot; i++)
            {
                if (script == _slots[i].Number && _slots[i].Status != ScriptStatus.Dead &&
                    (_slots[i].Where == WhereIsObject.Room || _slots[i].Where == WhereIsObject.Inventory || _slots[i].Where == WhereIsObject.FLObject))
                {
                    if (_slots[i].CutSceneOverride != 0 && Game.Version >= 5)
                        throw new NotSupportedException(string.Format("Script {0} stopped with active cutscene/override", script));

                    _slots[i].Number = 0;
                    _slots[i].Status = ScriptStatus.Dead;
                    if (CurrentScript == i)
                        CurrentScript = 0xFF;
                }
            }

            for (var i = 0; i < _numNestedScripts; ++i)
            {
                if (_nest[i].Number == script &&
                    (_nest[i].Where == WhereIsObject.Room || _nest[i].Where == WhereIsObject.Inventory || _nest[i].Where == WhereIsObject.FLObject))
                {
                    _nest[i].Number = 0;
                    _nest[i].Slot = 0xFF;
                    _nest[i].Where = WhereIsObject.NotFound;
                }
            }
        }
ScummEngine