Initial commit: UI-Quellcode (root + uiscript)
Enthaelt die editierbaren Python-UI-Skripte (root/, uiscript/) des EterNexus-Clients, u.a. die Aenderungen fuer aktivierbare Items (constinfo.py: IS_ACTIVATABLE_ITEM/IS_MOUNT_SEAL, uiinventory.py: RefreshBagSlotWindow). Kompilierte Pack-Dateien (.epk/.eix) sowie Binaries/DLLs/Locale-Assets sind bewusst nicht Teil dieses Repos.
This commit is contained in:
@@ -0,0 +1,491 @@
|
||||
import ui
|
||||
import snd
|
||||
import systemSetting
|
||||
import net
|
||||
import chat
|
||||
import app
|
||||
import localeInfo
|
||||
import constInfo
|
||||
import chrmgr
|
||||
import player
|
||||
import uiPrivateShopBuilder # ±èÁØÈ£
|
||||
import interfaceModule # ±èÁØÈ£
|
||||
|
||||
blockMode = 0
|
||||
viewChatMode = 0
|
||||
|
||||
MOBILE = False
|
||||
|
||||
if localeInfo.IsYMIR():
|
||||
MOBILE = True
|
||||
|
||||
|
||||
class OptionDialog(ui.ScriptWindow):
|
||||
|
||||
def __init__(self):
|
||||
ui.ScriptWindow.__init__(self)
|
||||
self.__Initialize()
|
||||
self.__Load()
|
||||
self.RefreshViewChat()
|
||||
self.RefreshAlwaysShowName()
|
||||
self.RefreshShowDamage()
|
||||
self.RefreshShowSalesText()
|
||||
|
||||
def __del__(self):
|
||||
ui.ScriptWindow.__del__(self)
|
||||
print " -------------------------------------- DELETE GAME OPTION DIALOG"
|
||||
|
||||
def __Initialize(self):
|
||||
self.titleBar = 0
|
||||
self.nameColorModeButtonList = []
|
||||
self.viewTargetBoardButtonList = []
|
||||
self.pvpModeButtonDict = {}
|
||||
self.blockButtonList = []
|
||||
self.viewChatButtonList = []
|
||||
self.alwaysShowNameButtonList = []
|
||||
self.showDamageButtonList = []
|
||||
self.showsalesTextButtonList = []
|
||||
|
||||
def Destroy(self):
|
||||
self.ClearDictionary()
|
||||
|
||||
self.__Initialize()
|
||||
print " -------------------------------------- DESTROY GAME OPTION DIALOG"
|
||||
|
||||
def __Load_LoadScript(self, fileName):
|
||||
try:
|
||||
pyScriptLoader = ui.PythonScriptLoader()
|
||||
pyScriptLoader.LoadScriptFile(self, fileName)
|
||||
except:
|
||||
import exception
|
||||
exception.Abort("OptionDialog.__Load_LoadScript")
|
||||
|
||||
def __Load_BindObject(self):
|
||||
try:
|
||||
GetObject = self.GetChild
|
||||
self.titleBar = GetObject("titlebar")
|
||||
self.nameColorModeButtonList.append(GetObject("name_color_normal"))
|
||||
self.nameColorModeButtonList.append(GetObject("name_color_empire"))
|
||||
self.viewTargetBoardButtonList.append(GetObject("target_board_no_view"))
|
||||
self.viewTargetBoardButtonList.append(GetObject("target_board_view"))
|
||||
self.pvpModeButtonDict[player.PK_MODE_PEACE] = GetObject("pvp_peace")
|
||||
self.pvpModeButtonDict[player.PK_MODE_REVENGE] = GetObject("pvp_revenge")
|
||||
self.pvpModeButtonDict[player.PK_MODE_GUILD] = GetObject("pvp_guild")
|
||||
self.pvpModeButtonDict[player.PK_MODE_FREE] = GetObject("pvp_free")
|
||||
self.blockButtonList.append(GetObject("block_exchange_button"))
|
||||
self.blockButtonList.append(GetObject("block_party_button"))
|
||||
self.blockButtonList.append(GetObject("block_guild_button"))
|
||||
self.blockButtonList.append(GetObject("block_whisper_button"))
|
||||
self.blockButtonList.append(GetObject("block_friend_button"))
|
||||
self.blockButtonList.append(GetObject("block_party_request_button"))
|
||||
self.viewChatButtonList.append(GetObject("view_chat_on_button"))
|
||||
self.viewChatButtonList.append(GetObject("view_chat_off_button"))
|
||||
self.alwaysShowNameButtonList.append(GetObject("always_show_name_on_button"))
|
||||
self.alwaysShowNameButtonList.append(GetObject("always_show_name_off_button"))
|
||||
self.showDamageButtonList.append(GetObject("show_damage_on_button"))
|
||||
self.showDamageButtonList.append(GetObject("show_damage_off_button"))
|
||||
self.showsalesTextButtonList.append(GetObject("salestext_on_button"))
|
||||
self.showsalesTextButtonList.append(GetObject("salestext_off_button"))
|
||||
|
||||
global MOBILE
|
||||
if MOBILE:
|
||||
self.inputMobileButton = GetObject("input_mobile_button")
|
||||
self.deleteMobileButton = GetObject("delete_mobile_button")
|
||||
|
||||
|
||||
except:
|
||||
import exception
|
||||
exception.Abort("OptionDialog.__Load_BindObject")
|
||||
|
||||
def __Load(self):
|
||||
global MOBILE
|
||||
if MOBILE:
|
||||
self.__Load_LoadScript("uiscript/gameoptiondialog_formobile.py")
|
||||
else:
|
||||
self.__Load_LoadScript("uiscript/gameoptiondialog.py")
|
||||
|
||||
self.__Load_BindObject()
|
||||
|
||||
self.SetCenterPosition()
|
||||
|
||||
self.titleBar.SetCloseEvent(ui.__mem_func__(self.Close))
|
||||
|
||||
self.nameColorModeButtonList[0].SAFE_SetEvent(self.__OnClickNameColorModeNormalButton)
|
||||
self.nameColorModeButtonList[1].SAFE_SetEvent(self.__OnClickNameColorModeEmpireButton)
|
||||
|
||||
self.viewTargetBoardButtonList[0].SAFE_SetEvent(self.__OnClickTargetBoardViewButton)
|
||||
self.viewTargetBoardButtonList[1].SAFE_SetEvent(self.__OnClickTargetBoardNoViewButton)
|
||||
|
||||
self.pvpModeButtonDict[player.PK_MODE_PEACE].SAFE_SetEvent(self.__OnClickPvPModePeaceButton)
|
||||
self.pvpModeButtonDict[player.PK_MODE_REVENGE].SAFE_SetEvent(self.__OnClickPvPModeRevengeButton)
|
||||
self.pvpModeButtonDict[player.PK_MODE_GUILD].SAFE_SetEvent(self.__OnClickPvPModeGuildButton)
|
||||
self.pvpModeButtonDict[player.PK_MODE_FREE].SAFE_SetEvent(self.__OnClickPvPModeFreeButton)
|
||||
|
||||
self.blockButtonList[0].SetToggleUpEvent(self.__OnClickBlockExchangeButton)
|
||||
self.blockButtonList[1].SetToggleUpEvent(self.__OnClickBlockPartyButton)
|
||||
self.blockButtonList[2].SetToggleUpEvent(self.__OnClickBlockGuildButton)
|
||||
self.blockButtonList[3].SetToggleUpEvent(self.__OnClickBlockWhisperButton)
|
||||
self.blockButtonList[4].SetToggleUpEvent(self.__OnClickBlockFriendButton)
|
||||
self.blockButtonList[5].SetToggleUpEvent(self.__OnClickBlockPartyRequest)
|
||||
|
||||
self.blockButtonList[0].SetToggleDownEvent(self.__OnClickBlockExchangeButton)
|
||||
self.blockButtonList[1].SetToggleDownEvent(self.__OnClickBlockPartyButton)
|
||||
self.blockButtonList[2].SetToggleDownEvent(self.__OnClickBlockGuildButton)
|
||||
self.blockButtonList[3].SetToggleDownEvent(self.__OnClickBlockWhisperButton)
|
||||
self.blockButtonList[4].SetToggleDownEvent(self.__OnClickBlockFriendButton)
|
||||
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockPartyRequest)
|
||||
|
||||
self.viewChatButtonList[0].SAFE_SetEvent(self.__OnClickViewChatOnButton)
|
||||
self.viewChatButtonList[1].SAFE_SetEvent(self.__OnClickViewChatOffButton)
|
||||
|
||||
self.alwaysShowNameButtonList[0].SAFE_SetEvent(self.__OnClickAlwaysShowNameOnButton)
|
||||
self.alwaysShowNameButtonList[1].SAFE_SetEvent(self.__OnClickAlwaysShowNameOffButton)
|
||||
|
||||
self.showDamageButtonList[0].SAFE_SetEvent(self.__OnClickShowDamageOnButton)
|
||||
self.showDamageButtonList[1].SAFE_SetEvent(self.__OnClickShowDamageOffButton)
|
||||
|
||||
self.showsalesTextButtonList[0].SAFE_SetEvent(self.__OnClickSalesTextOnButton)
|
||||
self.showsalesTextButtonList[1].SAFE_SetEvent(self.__OnClickSalesTextOffButton)
|
||||
|
||||
self.__ClickRadioButton(self.nameColorModeButtonList, constInfo.GET_CHRNAME_COLOR_INDEX())
|
||||
self.__ClickRadioButton(self.viewTargetBoardButtonList, constInfo.GET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD())
|
||||
self.__SetPeacePKMode()
|
||||
|
||||
#global MOBILE
|
||||
if MOBILE:
|
||||
self.inputMobileButton.SetEvent(ui.__mem_func__(self.__OnChangeMobilePhoneNumber))
|
||||
self.deleteMobileButton.SetEvent(ui.__mem_func__(self.__OnDeleteMobilePhoneNumber))
|
||||
|
||||
def __ClickRadioButton(self, buttonList, buttonIndex):
|
||||
try:
|
||||
selButton=buttonList[buttonIndex]
|
||||
except IndexError:
|
||||
return
|
||||
|
||||
for eachButton in buttonList:
|
||||
eachButton.SetUp()
|
||||
|
||||
selButton.Down()
|
||||
|
||||
def __SetNameColorMode(self, index):
|
||||
constInfo.SET_CHRNAME_COLOR_INDEX(index)
|
||||
self.__ClickRadioButton(self.nameColorModeButtonList, index)
|
||||
|
||||
def __SetTargetBoardViewMode(self, flag):
|
||||
constInfo.SET_VIEW_OTHER_EMPIRE_PLAYER_TARGET_BOARD(flag)
|
||||
self.__ClickRadioButton(self.viewTargetBoardButtonList, flag)
|
||||
|
||||
def __OnClickNameColorModeNormalButton(self):
|
||||
self.__SetNameColorMode(0)
|
||||
|
||||
def __OnClickNameColorModeEmpireButton(self):
|
||||
self.__SetNameColorMode(1)
|
||||
|
||||
def __OnClickTargetBoardViewButton(self):
|
||||
self.__SetTargetBoardViewMode(0)
|
||||
|
||||
def __OnClickTargetBoardNoViewButton(self):
|
||||
self.__SetTargetBoardViewMode(1)
|
||||
|
||||
def __OnClickCameraModeShortButton(self):
|
||||
self.__SetCameraMode(0)
|
||||
|
||||
def __OnClickCameraModeLongButton(self):
|
||||
self.__SetCameraMode(1)
|
||||
|
||||
def __OnClickFogModeLevel0Button(self):
|
||||
self.__SetFogLevel(0)
|
||||
|
||||
def __OnClickFogModeLevel1Button(self):
|
||||
self.__SetFogLevel(1)
|
||||
|
||||
def __OnClickFogModeLevel2Button(self):
|
||||
self.__SetFogLevel(2)
|
||||
|
||||
def __OnClickBlockExchangeButton(self):
|
||||
self.RefreshBlock()
|
||||
global blockMode
|
||||
net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_EXCHANGE))
|
||||
def __OnClickBlockPartyButton(self):
|
||||
self.RefreshBlock()
|
||||
global blockMode
|
||||
net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_PARTY))
|
||||
def __OnClickBlockGuildButton(self):
|
||||
self.RefreshBlock()
|
||||
global blockMode
|
||||
net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_GUILD))
|
||||
def __OnClickBlockWhisperButton(self):
|
||||
self.RefreshBlock()
|
||||
global blockMode
|
||||
net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_WHISPER))
|
||||
def __OnClickBlockFriendButton(self):
|
||||
self.RefreshBlock()
|
||||
global blockMode
|
||||
net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_FRIEND))
|
||||
def __OnClickBlockPartyRequest(self):
|
||||
self.RefreshBlock()
|
||||
global blockMode
|
||||
net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_PARTY_REQUEST))
|
||||
|
||||
def __OnClickViewChatOnButton(self):
|
||||
global viewChatMode
|
||||
viewChatMode = 1
|
||||
systemSetting.SetViewChatFlag(viewChatMode)
|
||||
self.RefreshViewChat()
|
||||
def __OnClickViewChatOffButton(self):
|
||||
global viewChatMode
|
||||
viewChatMode = 0
|
||||
systemSetting.SetViewChatFlag(viewChatMode)
|
||||
self.RefreshViewChat()
|
||||
|
||||
def __OnClickAlwaysShowNameOnButton(self):
|
||||
systemSetting.SetAlwaysShowNameFlag(True)
|
||||
self.RefreshAlwaysShowName()
|
||||
|
||||
def __OnClickAlwaysShowNameOffButton(self):
|
||||
systemSetting.SetAlwaysShowNameFlag(False)
|
||||
self.RefreshAlwaysShowName()
|
||||
|
||||
def __OnClickShowDamageOnButton(self):
|
||||
systemSetting.SetShowDamageFlag(True)
|
||||
self.RefreshShowDamage()
|
||||
|
||||
def __OnClickShowDamageOffButton(self):
|
||||
systemSetting.SetShowDamageFlag(False)
|
||||
self.RefreshShowDamage()
|
||||
|
||||
def __OnClickSalesTextOnButton(self):
|
||||
systemSetting.SetShowSalesTextFlag(True)
|
||||
self.RefreshShowSalesText()
|
||||
uiPrivateShopBuilder.UpdateADBoard()
|
||||
|
||||
def __OnClickSalesTextOffButton(self):
|
||||
systemSetting.SetShowSalesTextFlag(False)
|
||||
self.RefreshShowSalesText()
|
||||
|
||||
def __CheckPvPProtectedLevelPlayer(self):
|
||||
if player.GetStatus(player.LEVEL)<constInfo.PVPMODE_PROTECTED_LEVEL:
|
||||
self.__SetPeacePKMode()
|
||||
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_PROTECT % (constInfo.PVPMODE_PROTECTED_LEVEL))
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
def __SetPKMode(self, mode):
|
||||
for btn in self.pvpModeButtonDict.values():
|
||||
btn.SetUp()
|
||||
if self.pvpModeButtonDict.has_key(mode):
|
||||
self.pvpModeButtonDict[mode].Down()
|
||||
|
||||
def __SetPeacePKMode(self):
|
||||
self.__SetPKMode(player.PK_MODE_PEACE)
|
||||
|
||||
def __RefreshPVPButtonList(self):
|
||||
self.__SetPKMode(player.GetPKMode())
|
||||
|
||||
def __OnClickPvPModePeaceButton(self):
|
||||
if self.__CheckPvPProtectedLevelPlayer():
|
||||
return
|
||||
|
||||
self.__RefreshPVPButtonList()
|
||||
|
||||
if constInfo.PVPMODE_ENABLE:
|
||||
net.SendChatPacket("/pkmode 0", chat.CHAT_TYPE_TALKING)
|
||||
else:
|
||||
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_NOT_SUPPORT)
|
||||
|
||||
def __OnClickPvPModeRevengeButton(self):
|
||||
if self.__CheckPvPProtectedLevelPlayer():
|
||||
return
|
||||
|
||||
self.__RefreshPVPButtonList()
|
||||
|
||||
if constInfo.PVPMODE_ENABLE:
|
||||
net.SendChatPacket("/pkmode 1", chat.CHAT_TYPE_TALKING)
|
||||
else:
|
||||
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_NOT_SUPPORT)
|
||||
|
||||
def __OnClickPvPModeFreeButton(self):
|
||||
if self.__CheckPvPProtectedLevelPlayer():
|
||||
return
|
||||
|
||||
self.__RefreshPVPButtonList()
|
||||
|
||||
if constInfo.PVPMODE_ENABLE:
|
||||
net.SendChatPacket("/pkmode 2", chat.CHAT_TYPE_TALKING)
|
||||
else:
|
||||
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_NOT_SUPPORT)
|
||||
|
||||
def __OnClickPvPModeGuildButton(self):
|
||||
if self.__CheckPvPProtectedLevelPlayer():
|
||||
return
|
||||
|
||||
self.__RefreshPVPButtonList()
|
||||
|
||||
if 0 == player.GetGuildID():
|
||||
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_CANNOT_SET_GUILD_MODE)
|
||||
return
|
||||
|
||||
if constInfo.PVPMODE_ENABLE:
|
||||
net.SendChatPacket("/pkmode 4", chat.CHAT_TYPE_TALKING)
|
||||
else:
|
||||
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.OPTION_PVPMODE_NOT_SUPPORT)
|
||||
|
||||
def OnChangePKMode(self):
|
||||
self.__RefreshPVPButtonList()
|
||||
|
||||
def __OnChangeMobilePhoneNumber(self):
|
||||
global MOBILE
|
||||
if not MOBILE:
|
||||
return
|
||||
|
||||
import uiCommon
|
||||
inputDialog = uiCommon.InputDialog()
|
||||
inputDialog.SetTitle(localeInfo.MESSENGER_INPUT_MOBILE_PHONE_NUMBER_TITLE)
|
||||
inputDialog.SetMaxLength(13)
|
||||
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OnInputMobilePhoneNumber))
|
||||
inputDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseInputDialog))
|
||||
inputDialog.Open()
|
||||
self.inputDialog = inputDialog
|
||||
|
||||
def __OnDeleteMobilePhoneNumber(self):
|
||||
global MOBILE
|
||||
if not MOBILE:
|
||||
return
|
||||
|
||||
import uiCommon
|
||||
questionDialog = uiCommon.QuestionDialog()
|
||||
questionDialog.SetText(localeInfo.MESSENGER_DO_YOU_DELETE_PHONE_NUMBER)
|
||||
questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnDeleteMobile))
|
||||
questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
|
||||
questionDialog.Open()
|
||||
self.questionDialog = questionDialog
|
||||
|
||||
def OnInputMobilePhoneNumber(self):
|
||||
global MOBILE
|
||||
if not MOBILE:
|
||||
return
|
||||
|
||||
text = self.inputDialog.GetText()
|
||||
|
||||
if not text:
|
||||
return
|
||||
|
||||
text.replace('-', '')
|
||||
net.SendChatPacket("/mobile " + text)
|
||||
self.OnCloseInputDialog()
|
||||
return True
|
||||
|
||||
def OnInputMobileAuthorityCode(self):
|
||||
global MOBILE
|
||||
if not MOBILE:
|
||||
return
|
||||
|
||||
text = self.inputDialog.GetText()
|
||||
net.SendChatPacket("/mobile_auth " + text)
|
||||
self.OnCloseInputDialog()
|
||||
return True
|
||||
|
||||
def OnDeleteMobile(self):
|
||||
global MOBILE
|
||||
if not MOBILE:
|
||||
return
|
||||
|
||||
net.SendChatPacket("/mobile")
|
||||
self.OnCloseQuestionDialog()
|
||||
return True
|
||||
|
||||
def OnCloseInputDialog(self):
|
||||
self.inputDialog.Close()
|
||||
self.inputDialog = None
|
||||
return True
|
||||
|
||||
def OnCloseQuestionDialog(self):
|
||||
self.questionDialog.Close()
|
||||
self.questionDialog = None
|
||||
return True
|
||||
|
||||
def OnPressEscapeKey(self):
|
||||
self.Close()
|
||||
return True
|
||||
|
||||
def RefreshMobile(self):
|
||||
global MOBILE
|
||||
if not MOBILE:
|
||||
return
|
||||
|
||||
if player.HasMobilePhoneNumber():
|
||||
self.inputMobileButton.Hide()
|
||||
self.deleteMobileButton.Show()
|
||||
else:
|
||||
self.inputMobileButton.Show()
|
||||
self.deleteMobileButton.Hide()
|
||||
|
||||
def OnMobileAuthority(self):
|
||||
global MOBILE
|
||||
if not MOBILE:
|
||||
return
|
||||
|
||||
import uiCommon
|
||||
inputDialog = uiCommon.InputDialogWithDescription()
|
||||
inputDialog.SetTitle(localeInfo.MESSENGER_INPUT_MOBILE_AUTHORITY_TITLE)
|
||||
inputDialog.SetDescription(localeInfo.MESSENGER_INPUT_MOBILE_AUTHORITY_DESCRIPTION)
|
||||
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OnInputMobileAuthorityCode))
|
||||
inputDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseInputDialog))
|
||||
inputDialog.SetMaxLength(4)
|
||||
inputDialog.SetBoardWidth(310)
|
||||
inputDialog.Open()
|
||||
self.inputDialog = inputDialog
|
||||
|
||||
def RefreshBlock(self):
|
||||
global blockMode
|
||||
for i in xrange(len(self.blockButtonList)):
|
||||
if 0 != (blockMode & (1 << i)):
|
||||
self.blockButtonList[i].Down()
|
||||
else:
|
||||
self.blockButtonList[i].SetUp()
|
||||
|
||||
def RefreshViewChat(self):
|
||||
if systemSetting.IsViewChat():
|
||||
self.viewChatButtonList[0].Down()
|
||||
self.viewChatButtonList[1].SetUp()
|
||||
else:
|
||||
self.viewChatButtonList[0].SetUp()
|
||||
self.viewChatButtonList[1].Down()
|
||||
|
||||
def RefreshAlwaysShowName(self):
|
||||
if systemSetting.IsAlwaysShowName():
|
||||
self.alwaysShowNameButtonList[0].Down()
|
||||
self.alwaysShowNameButtonList[1].SetUp()
|
||||
else:
|
||||
self.alwaysShowNameButtonList[0].SetUp()
|
||||
self.alwaysShowNameButtonList[1].Down()
|
||||
|
||||
def RefreshShowDamage(self):
|
||||
if systemSetting.IsShowDamage():
|
||||
self.showDamageButtonList[0].Down()
|
||||
self.showDamageButtonList[1].SetUp()
|
||||
else:
|
||||
self.showDamageButtonList[0].SetUp()
|
||||
self.showDamageButtonList[1].Down()
|
||||
|
||||
def RefreshShowSalesText(self):
|
||||
if systemSetting.IsShowSalesText():
|
||||
self.showsalesTextButtonList[0].Down()
|
||||
self.showsalesTextButtonList[1].SetUp()
|
||||
else:
|
||||
self.showsalesTextButtonList[0].SetUp()
|
||||
self.showsalesTextButtonList[1].Down()
|
||||
|
||||
def OnBlockMode(self, mode):
|
||||
global blockMode
|
||||
blockMode = mode
|
||||
self.RefreshBlock()
|
||||
|
||||
def Show(self):
|
||||
self.RefreshMobile()
|
||||
self.RefreshBlock()
|
||||
ui.ScriptWindow.Show(self)
|
||||
|
||||
def Close(self):
|
||||
self.Hide()
|
||||
Reference in New Issue
Block a user