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); }
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); }