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

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

private CursorCommand ( ) : void
Результат void
        protected virtual void CursorCommand()
        {
            var subOp = ReadByte();
            switch (subOp)
            {
                case 0x90:              // SO_CURSOR_ON Turn cursor on
                    _cursor.State = 1;
                    VerbMouseOver(0);
                    break;
                case 0x91:              // SO_CURSOR_OFF Turn cursor off
                    _cursor.State = 0;
                    VerbMouseOver(0);
                    break;
                case 0x92:              // SO_USERPUT_ON
                    _userPut = 1;
                    break;
                case 0x93:              // SO_USERPUT_OFF
                    _userPut = 0;
                    break;
                case 0x94:              // SO_CURSOR_SOFT_ON Turn soft cursor on
                    _cursor.State++;
                    if (_cursor.State > 1)
                        throw new NotSupportedException("Cursor state greater than 1 in script");
                    VerbMouseOver(0);
                    break;
                case 0x95:              // SO_CURSOR_SOFT_OFF Turn soft cursor off
                    _cursor.State--;
                    VerbMouseOver(0);
                    break;
                case 0x96:              // SO_USERPUT_SOFT_ON
                    _userPut++;
                    break;
                case 0x97:              // SO_USERPUT_SOFT_OFF
                    _userPut--;
                    break;
                case 0x99:              // SO_CURSOR_IMAGE Set cursor image
                    {
                        int room, obj;
                        PopRoomAndObj(out room, out obj);
                        SetCursorFromImg(obj, room, 1);
                        break;
                    }
                case 0x9A:              // SO_CURSOR_HOTSPOT Set cursor hotspot
                    {
                        var y = (short)Pop();
                        var x = (short)Pop();
                        SetCursorHotspot(new Point(x, y));
                        UpdateCursor();
                    }
                    break;
                case 0x9C:              // SO_CHARSET_SET
                    InitCharset(Pop());
                    break;
                case 0x9D:              // SO_CHARSET_COLOR
                    var args = GetStackList(16);
                    for (var i = 0; i < args.Length; i++)
                        CharsetColorMap[i] = _charsetData[String[1].Default.Charset][i] = (byte)args[i];
                    break;
                case 0xD6:              // SO_CURSOR_TRANSPARENT Set cursor transparent color
                    SetCursorTransparency(Pop());
                    break;
                default:
                    throw new NotSupportedException(string.Format("CursorCommand: default case {0:X2}", subOp));
            }

            Variables[VariableCursorState.Value] = _cursor.State;
            Variables[VariableUserPut.Value] = _userPut;

        }
ScummEngine6