NScumm.Scumm.ScummEngine6.ResourceRoutines C# (CSharp) Метод

ResourceRoutines() приватный Метод

private ResourceRoutines ( ) : void
Результат void
        protected virtual void ResourceRoutines()
        {
            var subOp = ReadByte();
            switch (subOp)
            {
                case 100:               // SO_LOAD_SCRIPT
                    {
                        var resid = Pop();
                        if (Game.Version >= 7)
                            if (resid >= ResourceManager.NumGlobalScripts)
                                break;
                        ResourceManager.LoadScript(resid);
                    }
                    break;
                case 101:               // SO_LOADSound
                    {
                        var resid = Pop();
                        ResourceManager.LoadSound(Sound.MusicType, resid);
                    }
                    break;
                case 102:               // SO_LOAD_COSTUME
                    {
                        var resid = Pop();
                        ResourceManager.LoadCostume(resid);
                    }
                    break;
                case 103:               // SO_LOAD_ROOM
                    {
                        var resid = Pop();
                        ResourceManager.LoadRoom(resid);
                    }
                    break;
                case 104:               // SO_NUKE_SCRIPT
                    {
                        var resid = Pop();
                        if (Game.Version >= 7)
                            if (resid >= ResourceManager.NumGlobalScripts)
                                break;
                        ResourceManager.SetScriptCounter(resid, 0x7F);
                    }
                    break;
                case 105:               // SO_NUKESound
                    {
                        var resid = Pop();
                        ResourceManager.SetSoundCounter(resid, 0x7F);
                    }
                    break;
                case 106:               // SO_NUKE_COSTUME
                    {
                        var resid = Pop();
                        ResourceManager.SetCostumeCounter(resid, 0x7F);
                    }
                    break;
                case 107:               // SO_NUKE_ROOM
                    {
                        var resid = Pop();
                        ResourceManager.SetRoomCounter(resid, 0x7F);
                    }
                    break;
                case 108:               // SO_LOCK_SCRIPT
                    {
                        var resid = Pop();
                        if (resid >= ResourceManager.NumGlobalScripts)
                            break;
                        ResourceManager.LockScript(resid);
                    }
                    break;
                case 109:               // SO_LOCKSound
                    {
                        var resid = Pop();
                        ResourceManager.LockSound(resid);
                    }
                    break;
                case 110:               // SO_LOCK_COSTUME
                    {
                        var resid = Pop();
                        ResourceManager.LockCostume(resid);
                    }
                    break;
                case 111:               // SO_LOCK_ROOM
                    {
                        var resid = Pop();
                        if (resid > 0x7F)
                            resid = _resourceMapper[resid & 0x7F];
                        ResourceManager.LockRoom(resid);
                    }
                    break;
                case 112:               // SO_UNLOCK_SCRIPT
                    {
                        var resid = Pop();
                        if (resid >= ResourceManager.NumGlobalScripts)
                            break;
                        ResourceManager.UnlockScript(resid);
                    }
                    break;
                case 113:               // SO_UNLOCKSound
                    {
                        var resid = Pop();
                        ResourceManager.UnlockSound(resid);
                    }
                    break;
                case 114:               // SO_UNLOCK_COSTUME
                    {
                        var resid = Pop();
                        ResourceManager.UnlockCostume(resid);
                    }
                    break;
                case 115:               // SO_UNLOCK_ROOM
                    {
                        var resid = Pop();
                        if (resid > 0x7F)
                            resid = _resourceMapper[resid & 0x7F];
                        ResourceManager.UnlockRoom(resid);
                    }
                    break;
                case 116:               // SO_CLEAR_HEAP
                    /* this is actually a scumm message */
                    throw new NotSupportedException("clear heap not working yet");
                case 117:               // SO_LOAD_CHARSET
                    {
                        var resid = Pop();
                        LoadCharset(resid);
                    }
                    break;
                case 118:               // SO_NUKE_CHARSET
                    {
                        var resid = Pop();
                        //                    nukeCharset(resid);
                    }
                    break;
                case 119:               // SO_LOAD_OBJECT
                    {
                        int room, obj;
                        PopRoomAndObj(out room, out obj);
                        LoadFlObject(obj, room);
                        break;
                    }
                default:
                    throw new NotSupportedException(string.Format("ResourceRoutines: default case {0}", subOp));
            }

        }
ScummEngine6