Пример #1
0
        void SetMode(Engine0Mode mode)
        {
            UserStates state;

            _currentMode = mode;

            switch (_currentMode)
            {
            case Engine0Mode.Cutscene:
                if (Game.Features.HasFlag(GameFeatures.Demo))
                {
                    if (Variables[11] != 0)
                    {
                        _drawDemo = true;
                    }
                }
                _redrawSentenceLine = false;
                // Note: do not change freeze state here
                state = UserStates.SetIFace | UserStates.SetCursor;

                break;

            case Engine0Mode.Keypad:
                if (Game.Features.HasFlag(GameFeatures.Demo))
                {
                    if (Game.Features.HasFlag(GameFeatures.Demo))
                    {
                        _drawDemo = true;
                    }
                }
                _redrawSentenceLine = false;
                state = UserStates.SetIFace |
                        UserStates.SetCursor | UserStates.CursorOn |
                        UserStates.SetFreeze | UserStates.FreezeOn;
                break;

            case Engine0Mode.Normal:
            case Engine0Mode.NoNewKid:
                if (Game.Features.HasFlag(GameFeatures.Demo))
                {
                    ResetVerbs();
                    _activeVerb         = VerbsV0.WalkTo;
                    _redrawSentenceLine = true;
                    _drawDemo           = false;
                }
                state = UserStates.SetIFace | UserStates.IFaceAll |
                        UserStates.SetCursor | UserStates.CursorOn |
                        UserStates.SetFreeze;
                break;

            default:
                throw new NotSupportedException(string.Format("Invalid mode: {0}", mode));
            }

            SetUserState(state);
        }
Пример #2
0
        void SetMode(Engine0Mode mode)
        {
            UserStates state;

            _currentMode = mode;

            switch (_currentMode)
            {
                case Engine0Mode.Cutscene:
                    if (Game.Features.HasFlag(GameFeatures.Demo))
                    {
                        if (Variables[11] != 0)
                            _drawDemo = true;
                    }
                    _redrawSentenceLine = false;
                    // Note: do not change freeze state here
                    state = UserStates.SetIFace | UserStates.SetCursor;

                    break;
                case Engine0Mode.Keypad:
                    if (Game.Features.HasFlag(GameFeatures.Demo))
                    {
                        if (Game.Features.HasFlag(GameFeatures.Demo))
                            _drawDemo = true;
                    }
                    _redrawSentenceLine = false;
                    state = UserStates.SetIFace |
                    UserStates.SetCursor | UserStates.CursorOn |
                    UserStates.SetFreeze | UserStates.FreezeOn;
                    break;
                case Engine0Mode.Normal:
                case Engine0Mode.NoNewKid:
                    if (Game.Features.HasFlag(GameFeatures.Demo))
                    {
                        ResetVerbs();
                        _activeVerb = VerbsV0.WalkTo;
                        _redrawSentenceLine = true;
                        _drawDemo = false;
                    }
                    state = UserStates.SetIFace | UserStates.IFaceAll |
                    UserStates.SetCursor | UserStates.CursorOn |
                    UserStates.SetFreeze;
                    break;
                default:
                    throw new NotSupportedException(string.Format("Invalid mode: {0}", mode));
            }

            SetUserState(state);
        }