protected void SetUserState(UserStates state)
{
if (state.HasFlag(UserStates.SetIFace))
{ // Userface
// if (Game.Platform == Platform.NES)
// _userState = (_userState & ~USERSTATE_IFACE_ALL) | (state & USERSTATE_IFACE_ALL);
// else
_userState = state & UserStates.IFaceAll;
}
if (state.HasFlag(UserStates.SetFreeze))
{ // Freeze
if (state.HasFlag(UserStates.FreezeOn))
FreezeScripts(0);
else
UnfreezeScripts();
}
if (state.HasFlag(UserStates.SetCursor))
{ // Cursor Show/Hide
// if (_game.Platform == Common::kPlatformNES)
// _userState = (_userState & ~USERSTATE_CURSOR_ON) | (state & USERSTATE_CURSOR_ON);
if (state.HasFlag(UserStates.CursorOn))
{
_userPut = 1;
_cursor.State = 1;
}
else
{
_userPut = 0;
_cursor.State = 0;
}
}
// Hide all verbs and inventory
Rect rect;
rect.Top = VerbVirtScreen.TopLine;
rect.Bottom = VerbVirtScreen.TopLine + 8 * 88;
rect.Right = VerbVirtScreen.Width - 1;
// if (_game.platform == Common::kPlatformNES)
// {
// rect.left = 16;
// }
// else
{
rect.Left = 0;
}
RestoreBackground(rect);
// Draw all verbs and inventory
RedrawVerbs();
RunInventoryScript(1);
}