Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 17:57

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



'Interface' object has no attribute 'ToggleGuildWindow'

Discussion on 'Interface' object has no attribute 'ToggleGuildWindow' within the Metin2 Private Server forum part of the Metin2 category.

Closed Thread
 
Old   #1
 
elite*gold: 35
Join Date: Apr 2011
Posts: 1,018
Received Thanks: 1,984
Question 'Interface' object has no attribute 'ToggleGuildWindow'

PHP Code:
1215 03:18:24030 ::   File "networkModule.py"line 239in SetGamePhase

1215 03
:18:24030 ::   File "game.py"line 109in __init__

1215 03
:18:24030 ::   File "interfaceModule.py"line 285in MakeInterface

1215 03
:18:24030 ::   File "interfaceModule.py"line 106in __MakeMessengerWindow

1215 03
:18:24030 :: AttributeError
1215 03
:18:24030 :: : 
1215 03:18:24030 :: 'Interface' object has no attribute 'ToggleGuildWindow'
1215 03:18:24031 :: 


PHP Code:
##
## Interface
##

import constInfo
import systemSetting
import wndMgr
import chat
import app
import player
import uifastequip

import uiTaskBar
import uiCharacter
import uiInventory
import uiDragonSoul
import uiChat
import uiMessenger
import guild

import ui
import uiHelp
import uiWhisper
import uiPointReset
import uiShop
import uiExchange
import uiSystem
import uiRestart
import uiToolTip
import uiMiniMap
import uiParty
import uiSafebox
import uiGuild
import uiQuest
import uiPrivateShopBuilder
import uiCommon
import uiRefine
import uiEquipmentDialog
import uiGameButton
import uiTip
import uiCube
import miniMap
# ACCESSORY_REFINE_ADD_METIN_STONE
import uiSelectItem
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
import uiScriptLocale

import event
import localeInfo

IsQBHide 
0
class Interface(object):
    
CHARACTER_STATUS_TAB 1
    CHARACTER_SKILL_TAB 
2
    
    def __init__
(self):
        
systemSetting.SetInterfaceHandler(self)
        
self.windowOpenPosition 0
        self
.dlgWhisperWithoutTarget None
        self
.inputDialog None
        self
.tipBoard None
        self
.bigBoard None

        
# ITEM_MALL
        
self.mallPageDlg None
        
# END_OF_ITEM_MALL

        
self.wndWeb None
        self
.wndTaskBar None
        self
.wndCharacter None
        self
.wndInventory None
        self
.wndExpandedTaskBar None
        self
.wndDragonSoul None
        self
.wndDragonSoulRefine None
        self
.wndChat None
        self
.wndMessenger None
        self
.wndMiniMap None
        self
.wndGuild None
        self
.wndGuildBuilding None

        self
.listGMName = {}
        
self.wndQuestWindow = []
        
self.privateShopAdvertisementBoardDict = {}
        
self.guildScoreBoardDict = {}
        
self.equipmentDialogDict = {}
        
event.SetInterfaceWindow(self)

    
def __del__(self):
        
systemSetting.DestroyInterfaceHandler()
        
event.SetInterfaceWindow(None)

    
################################
    ## Make Windows & Dialogs
    
def __MakeUICurtain(self):
        
wndUICurtain ui.Bar("TOP_MOST")
        
wndUICurtain.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
        
wndUICurtain.SetColor(0x77000000)
        
wndUICurtain.Hide()
        
self.wndUICurtain wndUICurtain

    def __MakeMessengerWindow
(self):
        
self.wndMessenger uiMessenger.MessengerWindow()

        
from _weakref import proxy
        self
.wndMessenger.SetWhisperButtonEvent(lambda n,i=proxy(self):i.OpenWhisperDialog(n))
        
self.wndMessenger.SetGuildButtonEvent(ui.__mem_func__(self.ToggleGuildWindow))

    
def __MakeGuildWindow(self):
        
self.wndGuild uiGuild.GuildWindow()

    
def __MakeChatWindow(self):
        
        
wndChat uiChat.ChatWindow()
        
        
wndChat.SetSize(wndChat.CHAT_WINDOW_WIDTH0)
        
wndChat.SetPosition(wndMgr.GetScreenWidth()/wndChat.CHAT_WINDOW_WIDTH/2wndMgr.GetScreenHeight() - wndChat.EDIT_LINE_HEIGHT 37)
        
wndChat.SetHeight(200)
        
wndChat.Refresh()
        
wndChat.Show()

        
self.wndChat wndChat
        self
.wndChat.BindInterface(self)
        
self.wndChat.SetSendWhisperEvent(ui.__mem_func__(self.OpenWhisperDialogWithoutTarget))
        
self.wndChat.SetOpenChatLogEvent(ui.__mem_func__(self.ToggleChatLogWindow))

    
def __MakeTaskBar(self):
        
wndTaskBar uiTaskBar.TaskBar()
        
wndTaskBar.LoadWindow()
        
self.wndTaskBar wndTaskBar
        self
.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHARACTERui.__mem_func__(self.ToggleCharacterWindowStatusPage))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_INVENTORYui.__mem_func__(self.ToggleInventoryWindow))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_MESSENGERui.__mem_func__(self.ToggleMessenger))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEMui.__mem_func__(self.ToggleSystemDialog))
        if 
uiTaskBar.TaskBar.IS_EXPANDED:
            
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_EXPANDui.__mem_func__(self.ToggleExpandedButton))
            
self.wndExpandedTaskBar uiTaskBar.ExpandedTaskBar()
            
self.wndExpandedTaskBar.LoadWindow()
            
self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_FAST_EQUIPui.__mem_func__(self.ToggleFastEquipWindow))
            
self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOULui.__mem_func__(self.ToggleDragonSoulWindow))

        else:
            
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHATui.__mem_func__(self.ToggleChat))
        
        
self.wndEnergyBar None
        import app
        
if app.ENABLE_ENERGY_SYSTEM:
            
wndEnergyBar uiTaskBar.EnergyBar()
            
wndEnergyBar.LoadWindow()
            
self.wndEnergyBar wndEnergyBar    

    def __MakeParty
(self):
        
wndParty uiParty.PartyWindow()
        
wndParty.Hide()
        
self.wndParty wndParty

    def __MakeGameButtonWindow
(self):
        
wndGameButton uiGameButton.GameButtonWindow()
        
wndGameButton.SetTop()
        
wndGameButton.Show()
        
wndGameButton.SetButtonEvent("STATUS"ui.__mem_func__(self.__OnClickStatusPlusButton))
        
wndGameButton.SetButtonEvent("SKILL"ui.__mem_func__(self.__OnClickSkillPlusButton))
        
wndGameButton.SetButtonEvent("QUEST"ui.__mem_func__(self.__OnClickQuestButton))
        
wndGameButton.SetButtonEvent("HELP"ui.__mem_func__(self.__OnClickHelpButton))
        
wndGameButton.SetButtonEvent("BUILD"ui.__mem_func__(self.__OnClickBuildButton))

        
self.wndGameButton wndGameButton

    def __IsChatOpen
(self):
        return 
TRUE
        
    def __MakeWindows
(self):
        
wndCharacter uiCharacter.CharacterWindow()
        
wndInventory uiInventory.InventoryWindow()
        
wndInventory.BindInterfaceClass(self)
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
wndDragonSoul uiDragonSoul.DragonSoulWindow()    
            
wndDragonSoulRefine uiDragonSoul.DragonSoulRefineWindow()
        else:
            
wndDragonSoul None
            wndDragonSoulRefine 
None
 
        wndMiniMap 
uiMiniMap.MiniMap()
        
wndSafebox uiSafebox.SafeboxWindow()
        
        
# ITEM_MALL
        
wndMall uiSafebox.MallWindow()
        
self.wndMall wndMall
        
# END_OF_ITEM_MALL

        
wndChatLog uiChat.ChatLogWindow()
        
wndChatLog.BindInterface(self)
        
        
self.wndCharacter wndCharacter
        self
.wndInventory wndInventory
        self
.wndDragonSoul wndDragonSoul
        self
.wndDragonSoulRefine wndDragonSoulRefine
        self
.wndMiniMap wndMiniMap
        self
.wndSafebox wndSafebox
        self
.wndChatLog wndChatLog
        
        
if app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)
            
self.wndDragonSoulRefine.SetInventoryWindows(self.wndInventoryself.wndDragonSoul)
            
self.wndInventory.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)

    
def __MakeDialogs(self):
        
self.dlgExchange uiExchange.ExchangeDialog()
        
self.dlgExchange.LoadDialog()
        
self.dlgExchange.SetCenterPosition()
        
self.dlgExchange.Hide()

        
self.dlgPointReset uiPointReset.PointResetDialog()
        
self.dlgPointReset.LoadDialog()
        
self.dlgPointReset.Hide()

        
self.dlgShop uiShop.ShopDialog()
        
self.dlgShop.LoadDialog()
        
self.dlgShop.Hide()

        
self.dlgRestart uiRestart.RestartDialog()
        
self.dlgRestart.LoadDialog()
        
self.dlgRestart.Hide()

        
self.dlgSystem uiSystem.SystemDialog()
        
self.dlgSystem.LoadDialog()
        
self.dlgSystem.SetOpenHelpWindowEvent(ui.__mem_func__(self.OpenHelpWindow))

        
self.dlgSystem.Hide()

        
self.dlgPassword uiSafebox.PasswordDialog()
        
self.dlgPassword.Hide()

        
self.hyperlinkItemTooltip uiToolTip.HyperlinkItemToolTip()
        
self.hyperlinkItemTooltip.Hide()

        
self.tooltipItem uiToolTip.ItemToolTip()
        
self.tooltipItem.Hide()

        
self.tooltipSkill uiToolTip.SkillToolTip()
        
self.tooltipSkill.Hide()

        
self.privateShopBuilder uiPrivateShopBuilder.PrivateShopBuilder()
        
self.privateShopBuilder.Hide()

        
self.dlgRefineNew uiRefine.RefineDialogNew()
        
self.dlgRefineNew.Hide()

    
def __MakeHelpWindow(self):
        
self.wndHelp uiHelp.HelpWindow()
        
self.wndHelp.LoadDialog()
        
self.wndHelp.SetCloseEvent(ui.__mem_func__(self.CloseHelpWindow))
        
self.wndHelp.Hide()

    
def __MakeTipBoard(self):
        
self.tipBoard uiTip.TipBoard()
        
self.tipBoard.Hide()

        
self.bigBoard uiTip.BigBoard()
        
self.bigBoard.Hide()

    
def __MakeWebWindow(self):
        if 
constInfo.IN_GAME_SHOP_ENABLE:
            
import uiWeb
            self
.wndWeb uiWeb.WebWindow()
            
self.wndWeb.LoadWindow()
            
self.wndWeb.Hide()

    
def __MakeCubeWindow(self):
        
self.wndCube uiCube.CubeWindow()
        
self.wndCube.LoadWindow()
        
self.wndCube.Hide()

    
def __MakeCubeResultWindow(self):
        
self.wndCubeResult uiCube.CubeResultWindow()
        
self.wndCubeResult.LoadWindow()
        
self.wndCubeResult.Hide()

    
# ACCESSORY_REFINE_ADD_METIN_STONE
    
def __MakeItemSelectWindow(self):
        
self.wndItemSelect uiSelectItem.SelectItemWindow()
        
self.wndItemSelect.Hide()
    
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
                
    
def MakeInterface(self):
        
self.__MakeMessengerWindow()
        
self.__MakeGuildWindow()
        
self.__MakeChatWindow()
        
self.__MakeParty()
        
self.__MakeWindows()
        
self.__MakeDialogs()

        
self.__MakeUICurtain()
        
self.__MakeTaskBar()
        
self.__MakeGameButtonWindow()
        
self.__MakeHelpWindow()
        
self.__MakeTipBoard()
        
self.__MakeWebWindow()
        
self.__MakeCubeWindow()
        
self.__MakeCubeResultWindow()
        
        
        
# ACCESSORY_REFINE_ADD_METIN_STONE
        
self.__MakeItemSelectWindow()
        
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

        
self.questButtonList = []
        
self.whisperButtonList = []
        
self.whisperDialogDict = {}
        
self.privateShopAdvertisementBoardDict = {}

        
self.wndInventory.SetItemToolTip(self.tooltipItem)
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.SetItemToolTip(self.tooltipItem)
            
self.wndDragonSoulRefine.SetItemToolTip(self.tooltipItem)
        
self.wndSafebox.SetItemToolTip(self.tooltipItem)
        
self.wndCube.SetItemToolTip(self.tooltipItem)
        
self.wndCubeResult.SetItemToolTip(self.tooltipItem)

        
# ITEM_MALL
        
self.wndMall.SetItemToolTip(self.tooltipItem)
        
# END_OF_ITEM_MALL

        
self.wndCharacter.SetSkillToolTip(self.tooltipSkill)
        
self.wndTaskBar.SetItemToolTip(self.tooltipItem)
        
self.wndTaskBar.SetSkillToolTip(self.tooltipSkill)
        
self.wndGuild.SetSkillToolTip(self.tooltipSkill)

        
# ACCESSORY_REFINE_ADD_METIN_STONE
        
self.wndItemSelect.SetItemToolTip(self.tooltipItem)
        
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

        
self.dlgShop.SetItemToolTip(self.tooltipItem)
        
self.dlgExchange.SetItemToolTip(self.tooltipItem)
        
self.privateShopBuilder.SetItemToolTip(self.tooltipItem)

        
self.__InitWhisper()
        
self.DRAGON_SOUL_IS_QUALIFIED TRUE

    def MakeHyperlinkTooltip
(selfhyperlink):
        
tokens hyperlink.split(":")
        if 
tokens and len(tokens):
            
type tokens[0]
            if 
"item" == type:
                
self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)

    
## Make Windows & Dialogs
    ################################

    
def Close(self):

        if 
self.dlgWhisperWithoutTarget:
            
self.dlgWhisperWithoutTarget.Destroy()
            
del self.dlgWhisperWithoutTarget

        
if uiQuest.QuestDialog.__dict__.has_key("QuestCurtain"):
            
uiQuest.QuestDialog.QuestCurtain.Close()

        if 
self.wndQuestWindow:
            for 
eachQuestWindow in self.wndQuestWindow:
                
eachQuestWindow.nextCurtainMode = -1
                eachQuestWindow
.CloseSelf()
                
eachQuestWindow None

        
if self.wndChat:
            
self.wndChat.Destroy()

        if 
self.wndTaskBar:
            
self.wndTaskBar.Destroy()
        
        if 
self.wndExpandedTaskBar:
            
self.wndExpandedTaskBar.Destroy()
            
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Destroy()

        if 
self.wndCharacter:
            
self.wndCharacter.Destroy()

        if 
self.wndInventory:
            
self.wndInventory.Destroy()
            
        if 
self.wndDragonSoul:
            
self.wndDragonSoul.Destroy()

        if 
self.wndDragonSoulRefine:
            
self.wndDragonSoulRefine.Destroy()

        if 
self.dlgExchange:
            
self.dlgExchange.Destroy()

        if 
self.dlgPointReset:
            
self.dlgPointReset.Destroy()

        if 
self.dlgShop:
            
self.dlgShop.Destroy()

        if 
self.dlgRestart:
            
self.dlgRestart.Destroy()

        if 
self.dlgSystem:
            
self.dlgSystem.Destroy()

        if 
self.dlgPassword:
            
self.dlgPassword.Destroy()

        if 
self.wndMiniMap:
            
self.wndMiniMap.Destroy()

        if 
self.wndSafebox:
            
self.wndSafebox.Destroy()

        if 
self.wndWeb:
            
self.wndWeb.Destroy()
            
self.wndWeb None

        
if self.wndMall:
            
self.wndMall.Destroy()

        if 
self.wndParty:
            
self.wndParty.Destroy()

        if 
self.wndHelp:
            
self.wndHelp.Destroy()

        if 
self.wndCube:
            
self.wndCube.Destroy()
            
        if 
self.wndCubeResult:
            
self.wndCubeResult.Destroy()

        if 
self.wndMessenger:
            
self.wndMessenger.Destroy()

        if 
self.wndGuild:
            
self.wndGuild.Destroy()

        if 
self.privateShopBuilder:
            
self.privateShopBuilder.Destroy()

        if 
self.dlgRefineNew:
            
self.dlgRefineNew.Destroy()

        if 
self.wndGuildBuilding:
            
self.wndGuildBuilding.Destroy()

        if 
self.wndGameButton:
            
self.wndGameButton.Destroy()

        
# ITEM_MALL
        
if self.mallPageDlg:
            
self.mallPageDlg.Destroy()
        
# END_OF_ITEM_MALL

        # ACCESSORY_REFINE_ADD_METIN_STONE
        
if self.wndItemSelect:
            
self.wndItemSelect.Destroy()
        
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

        
self.wndChatLog.Destroy()
        for 
btn in self.questButtonList:
            
btn.SetEvent(0)
        for 
btn in self.whisperButtonList:
            
btn.SetEvent(0)
        for 
dlg in self.whisperDialogDict.itervalues():
            
dlg.Destroy()
        for 
brd in self.guildScoreBoardDict.itervalues():
            
brd.Destroy()
        for 
dlg in self.equipmentDialogDict.itervalues():
            
dlg.Destroy()

        
# ITEM_MALL
        
del self.mallPageDlg
        
# END_OF_ITEM_MALL

        
del self.wndGuild
        del self
.wndMessenger
        del self
.wndUICurtain
        del self
.wndChat
        del self
.wndTaskBar
        
if self.wndExpandedTaskBar:
            
del self.wndExpandedTaskBar
        del self
.wndEnergyBar
        del self
.wndCharacter
        del self
.wndInventory
        
if self.wndDragonSoul:
            
del self.wndDragonSoul
        
if self.wndDragonSoulRefine:
            
del self.wndDragonSoulRefine
        del self
.dlgExchange
        del self
.dlgPointReset
        del self
.dlgShop
        del self
.dlgRestart
        del self
.dlgSystem
        del self
.dlgPassword
        del self
.hyperlinkItemTooltip
        del self
.tooltipItem
        del self
.tooltipSkill
        del self
.wndMiniMap
        del self
.wndSafebox
        del self
.wndMall
        del self
.wndParty
        del self
.wndHelp
        del self
.wndCube
        del self
.wndCubeResult
        del self
.privateShopBuilder
        del self
.inputDialog
        del self
.wndChatLog
        del self
.dlgRefineNew
        del self
.wndGuildBuilding
        del self
.wndGameButton
        del self
.tipBoard
        del self
.bigBoard
        del self
.wndItemSelect

        self
.questButtonList = []
        
self.whisperButtonList = []
        
self.whisperDialogDict = {}
        
self.privateShopAdvertisementBoardDict = {}
        
self.guildScoreBoardDict = {}
        
self.equipmentDialogDict = {}

        
uiChat.DestroyChatInputSetWindow()

    
## Self
    
def SetOpenBoniSwitcherEvent(selfevent):
        
self.wndInventory.SetOpenBoniSwitcherEvent(event)

    
## Skill
    
def OnUseSkill(selfslotIndexcoolTime):
        
self.wndCharacter.OnUseSkill(slotIndexcoolTime)
        
self.wndTaskBar.OnUseSkill(slotIndexcoolTime)
        
self.wndGuild.OnUseSkill(slotIndexcoolTime)

    
def OnActivateSkill(selfslotIndex):
        
self.wndCharacter.OnActivateSkill(slotIndex)
        
self.wndTaskBar.OnActivateSkill(slotIndex)

    
def OnDeactivateSkill(selfslotIndex):
        
self.wndCharacter.OnDeactivateSkill(slotIndex)
        
self.wndTaskBar.OnDeactivateSkill(slotIndex)

    
def OnChangeCurrentSkill(selfskillSlotNumber):
        
self.wndTaskBar.OnChangeCurrentSkill(skillSlotNumber)

    
def SelectMouseButtonEvent(selfdirevent):
        
self.wndTaskBar.SelectMouseButtonEvent(direvent)

    
## Refresh
    
def RefreshAlignment(self):
        
self.wndCharacter.RefreshAlignment()

    
def RefreshStatus(self):
        
self.wndTaskBar.RefreshStatus()
        
self.wndCharacter.RefreshStatus()
        
self.wndInventory.RefreshStatus()
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.RefreshStatus()
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.RefreshStatus()

    
def RefreshStamina(self):
        
self.wndTaskBar.RefreshStamina()

    
def RefreshSkill(self):
        
self.wndCharacter.RefreshSkill()
        
self.wndTaskBar.RefreshSkill()

    
def RefreshInventory(self):
        
self.wndTaskBar.RefreshQuickSlot()
        
self.wndInventory.RefreshItemSlot()
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.RefreshItemSlot()

    
def RefreshCharacter(self): ## Character ÆäÀÌÁöÀÇ ¾ó±¼, Inventory ÆäÀÌÁöÀÇ Àü½Å ±×¸² µîÀÇ Refresh
        
self.wndCharacter.RefreshCharacter()
        
self.wndTaskBar.RefreshQuickSlot()

    
def RefreshQuest(self):
        
self.wndCharacter.RefreshQuest()

    
def RefreshSafebox(self):
        
self.wndSafebox.RefreshSafebox()

    
# ITEM_MALL
    
def RefreshMall(self):
        
self.wndMall.RefreshMall()

    
def OpenItemMall(self):
        if 
not self.mallPageDlg:
            
self.mallPageDlg uiShop.MallPageDialog()

        
self.mallPageDlg.Open()
    
# END_OF_ITEM_MALL

    
def RefreshMessenger(self):
        
self.wndMessenger.RefreshMessenger()

    
def RefreshGuildInfoPage(self):
        
self.wndGuild.RefreshGuildInfoPage()

    
def RefreshGuildBoardPage(self):
        
self.wndGuild.RefreshGuildBoardPage()

    
def RefreshGuildMemberPage(self):
        
self.wndGuild.RefreshGuildMemberPage()

    
def RefreshGuildMemberPageGradeComboBox(self):
        
self.wndGuild.RefreshGuildMemberPageGradeComboBox()

    
def RefreshGuildSkillPage(self):
        
self.wndGuild.RefreshGuildSkillPage()

    
def RefreshGuildGradePage(self):
        
self.wndGuild.RefreshGuildGradePage()

    
def DeleteGuild(self):
        
self.wndMessenger.ClearGuildMember()
        
self.wndGuild.DeleteGuild()

    
def RefreshMobile(self):
        
self.dlgSystem.RefreshMobile()

    
def OnMobileAuthority(self):
        
self.dlgSystem.OnMobileAuthority()

    
def OnBlockMode(selfmode):
        
self.dlgSystem.OnBlockMode(mode)

    
## Calling Functions
    # PointReset
    
def OpenPointResetDialog(self):
        
self.dlgPointReset.Show()
        
self.dlgPointReset.SetTop()

    
def ClosePointResetDialog(self):
        
self.dlgPointReset.Close()

    
# Shop
    
def OpenShopDialog(selfvid):
        
self.wndInventory.Show()
        
self.wndInventory.SetTop()
        
self.dlgShop.Open(vid)
        
self.dlgShop.SetTop()

    
def CloseShopDialog(self):
        
self.dlgShop.Close()

    
def RefreshShopDialog(self):
        
self.dlgShop.Refresh()

    
## Quest
    
def OpenCharacterWindowQuestPage(self):
        
self.wndCharacter.Show()
        
self.wndCharacter.SetState("QUEST")

    
def OpenQuestWindow(selfskinidx):

        
wnds = ()

        
uiQuest.QuestDialog(skinidx)
        
q.SetWindowName("QuestWindow" str(idx))
        
q.Show()
        if 
skin:
            
q.Lock()
            
wnds self.__HideWindows()

            
# UNKNOWN_UPDATE
            
q.AddOnDoneEvent(lambda tmp_selfargs=wndsself.__ShowWindows(args))
            
# END_OF_UNKNOWN_UPDATE

        
if skin:
            
q.AddOnCloseEvent(q.Unlock)
        
        
q.AddOnCloseEvent(lambda s selfqw qs.__dict__.__getitem__("wndQuestWindow").remove(qw))

        
# UNKNOWN_UPDATE
        
self.wndQuestWindow.append(q)
        
# END_OF_UNKNOWN_UPDATE

    ## Exchange
    
def StartExchange(self):
        
self.dlgExchange.OpenDialog()
        
self.dlgExchange.Refresh()

    
def EndExchange(self):
        
self.dlgExchange.CloseDialog()

    
def RefreshExchange(self):
        
self.dlgExchange.Refresh()

    
## Party
    
def AddPartyMember(selfpidname):
        
self.wndParty.AddPartyMember(pidname)

        
self.__ArrangeQuestButton()

    
def UpdatePartyMemberInfo(selfpid):
        
self.wndParty.UpdatePartyMemberInfo(pid)

    
def RemovePartyMember(selfpid):
        
self.wndParty.RemovePartyMember(pid)

        
##!! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
        
self.__ArrangeQuestButton()

    
def LinkPartyMember(selfpidvid):
        
self.wndParty.LinkPartyMember(pidvid)

    
def UnlinkPartyMember(selfpid):
        
self.wndParty.UnlinkPartyMember(pid)

    
def UnlinkAllPartyMember(self):
        
self.wndParty.UnlinkAllPartyMember()

    
def ExitParty(self):
        
self.wndParty.ExitParty()

        
##!! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
        
self.__ArrangeQuestButton()

    
def PartyHealReady(self):
        
self.wndParty.PartyHealReady()

    
def ChangePartyParameter(selfdistributionMode):
        
self.wndParty.ChangePartyParameter(distributionMode)

    
## Safebox
    
def AskSafeboxPassword(self):
        if 
self.wndSafebox.IsShow():
            return

        
# SAFEBOX_PASSWORD
        
self.dlgPassword.SetTitle(localeInfo.PASSWORD_TITLE)
        
self.dlgPassword.SetSendMessage("/safebox_password ")
        
# END_OF_SAFEBOX_PASSWORD

        
self.dlgPassword.ShowDialog()

    
def OpenSafeboxWindow(selfsize):
        
self.dlgPassword.CloseDialog()
        
self.wndSafebox.ShowWindow(size)

    
def RefreshSafeboxMoney(self):
        
self.wndSafebox.RefreshSafeboxMoney()

    
def CommandCloseSafebox(self):
        
self.wndSafebox.CommandCloseSafebox()

    
# ITEM_MALL
    
def AskMallPassword(self):
        if 
self.wndMall.IsShow():
            return
        
self.dlgPassword.SetTitle(localeInfo.MALL_PASSWORD_TITLE)
        
self.dlgPassword.SetSendMessage("/mall_password ")
        
self.dlgPassword.ShowDialog()

    
def OpenMallWindow(selfsize):
        
self.dlgPassword.CloseDialog()
        
self.wndMall.ShowWindow(size)

    
def CommandCloseMall(self):
        
self.wndMall.CommandCloseMall()
    
# END_OF_ITEM_MALL

    ## Guild
    
def OnStartGuildWar(selfguildSelfguildOpp):
        
self.wndGuild.OnStartGuildWar(guildSelfguildOpp)

        
guildWarScoreBoard uiGuild.GuildWarScoreBoard()
        
guildWarScoreBoard.Open(guildSelfguildOpp)
        
guildWarScoreBoard.Show()
        
self.guildScoreBoardDict[uiGuild.GetGVGKey(guildSelfguildOpp)] = guildWarScoreBoard

    def OnEndGuildWar
(selfguildSelfguildOpp):
        
self.wndGuild.OnEndGuildWar(guildSelfguildOpp)

        
key uiGuild.GetGVGKey(guildSelfguildOpp)

        if 
not self.guildScoreBoardDict.has_key(key):
            return

        
self.guildScoreBoardDict[key].Destroy()
        
del self.guildScoreBoardDict[key]

    
# GUILDWAR_MEMBER_COUNT
    
def UpdateMemberCount(selfgulidID1memberCount1guildID2memberCount2):
        
key uiGuild.GetGVGKey(gulidID1guildID2)

        if 
not self.guildScoreBoardDict.has_key(key):
            return

        
self.guildScoreBoardDict[key].UpdateMemberCount(gulidID1memberCount1guildID2memberCount2)
    
# END_OF_GUILDWAR_MEMBER_COUNT

    
def OnRecvGuildWarPoint(selfgainGuildIDopponentGuildIDpoint):
        
key uiGuild.GetGVGKey(gainGuildIDopponentGuildID)
        if 
not self.guildScoreBoardDict.has_key(key):
            return

        
guildBoard self.guildScoreBoardDict[key]
        
guildBoard.SetScore(gainGuildIDopponentGuildIDpoint)

    
## PK Mode
    
def OnChangePKMode(self):
        
self.wndCharacter.RefreshAlignment()
        
self.dlgSystem.OnChangePKMode()

    
## Refine
    
def OpenRefineDialog(selftargetItemPosnextGradeItemVnumcostprobtype):
        
self.dlgRefineNew.Open(targetItemPosnextGradeItemVnumcostprobtype)

    
def AppendMaterialToRefineDialog(selfvnumcount):
        
self.dlgRefineNew.AppendMaterial(vnumcount)

    
## Show & Hide
    
def ShowDefaultWindows(self):
        
self.wndTaskBar.Show()
        
self.wndMiniMap.Show()
        
self.wndMiniMap.ShowMiniMap()
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Show()

    
def ShowAllWindows(self):
        
self.wndTaskBar.Show()
        
self.wndCharacter.Show()
        
self.wndInventory.Show()
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.Show()
            
self.wndDragonSoulRefine.Show()
        
self.wndChat.Show()
        
self.wndMiniMap.Show()
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Show()
        if 
self.wndExpandedTaskBar:
            
self.wndExpandedTaskBar.Show()
            
self.wndExpandedTaskBar.SetTop()

    
def HideAllWindows(self):
        if 
self.wndTaskBar:
            
self.wndTaskBar.Hide()
        
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Hide()

        if 
self.wndCharacter:
            
self.wndCharacter.Hide()

        if 
self.wndInventory:
            
self.wndInventory.Hide()
            
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.Hide()
            
self.wndDragonSoulRefine.Hide()

        if 
self.wndChat:
            
self.wndChat.Hide()

        if 
self.wndMiniMap:
            
self.wndMiniMap.Hide()

        if 
self.wndMessenger:
            
self.wndMessenger.Hide()

        if 
self.wndGuild:
            
self.wndGuild.Hide()
            
        if 
self.wndExpandedTaskBar:
            
self.wndExpandedTaskBar.Hide()
 

    
def ShowMouseImage(self):
        
self.wndTaskBar.ShowMouseImage()

    
def HideMouseImage(self):
        
self.wndTaskBar.HideMouseImage()

    
def ToggleChat(self):
        if 
TRUE == self.wndChat.IsEditMode():
            
self.wndChat.CloseChat()
        else:
            
# À¥ÆäÀÌÁö°¡ ¿*·ÈÀ»¶§´Â Ã¤ÆàÀÔ·ÂÀÌ ¾ÈµÊ
            
if self.wndWeb and self.wndWeb.IsShow():
                
pass
            
else:
                
self.wndChat.OpenChat()

    
def IsOpenChat(self):
        return 
self.wndChat.IsEditMode()

    
def SetChatFocus(self):
        
self.wndChat.SetChatFocus()

    
def OpenRestartDialog(self):
        
self.dlgRestart.OpenDialog()
        
self.dlgRestart.SetTop()

    
def CloseRestartDialog(self):
        
self.dlgRestart.Close()

    
def ToggleSystemDialog(self):
        if 
FALSE == self.dlgSystem.IsShow():
            
self.dlgSystem.OpenDialog()
            
self.dlgSystem.SetTop()
        else:
            
self.dlgSystem.Close()

    
def OpenSystemDialog(self):
        
self.dlgSystem.OpenDialog()
        
self.dlgSystem.SetTop()

    
def ToggleMessenger(self):
        if 
self.wndMessenger.IsShow():
            
self.wndMessenger.Hide()
        else:
            
self.wndMessenger.SetTop()
            
self.wndMessenger.Show()

    
def ToggleMiniMap(self):
        if 
app.IsPressed(app.DIK_LSHIFT) or app.IsPressed(app.DIK_RSHIFT):
            if 
FALSE == self.wndMiniMap.isShowMiniMap():
                
self.wndMiniMap.ShowMiniMap()
                
self.wndMiniMap.SetTop()
            else:
                
self.wndMiniMap.HideMiniMap()

        else:
            
self.wndMiniMap.ToggleAtlasWindow()

    
def PressMKey(self):
        if 
app.IsPressed(app.DIK_LALT) or app.IsPressed(app.DIK_RALT):
            
self.ToggleMessenger()

        else:
            
self.ToggleMiniMap()

    
def SetMapName(selfmapName):
        
self.wndMiniMap.SetMapName(mapName)

    
def MiniMapScaleUp(self):
        
self.wndMiniMap.ScaleUp()

    
def MiniMapScaleDown(self):
        
self.wndMiniMap.ScaleDown()

    
def ToggleCharacterWindow(selfstate):
        if 
FALSE == player.IsObserverMode():
            if 
FALSE == self.wndCharacter.IsShow():
                
self.OpenCharacterWindowWithState(state)
            else:
                if 
state == self.wndCharacter.GetState():
                    
self.wndCharacter.OverOutItem()
                    
self.wndCharacter.Hide()
                else:
                    
self.wndCharacter.SetState(state)

    
def OpenCharacterWindowWithState(selfstate):
        if 
FALSE == player.IsObserverMode():
            
self.wndCharacter.SetState(state)
            
self.wndCharacter.Show()
            
self.wndCharacter.SetTop()

    
def ToggleCharacterWindowStatusPage(self):
        
self.ToggleCharacterWindow("STATUS")

    
def ToggleInventoryWindow(self):
        if 
FALSE == player.IsObserverMode():
            if 
FALSE == self.wndInventory.IsShow():
                
self.wndInventory.Show()
                
self.wndInventory.SetTop()
            else:
                
self.wndInventory.OverOutItem()
                
self.wndInventory.Close()
    
    
def ToggleExpandedButton(self):
        if 
FALSE == player.IsObserverMode():
            if 
FALSE == self.wndExpandedTaskBar.IsShow():
                
self.wndExpandedTaskBar.Show()
                
self.wndExpandedTaskBar.SetTop()
            else:
                
self.wndExpandedTaskBar.Close()
                
def ToggleFastEquipWindow(self):
    if 
constInfo.FAST_EQUIP == 0:
        
constInfo.FAST_EQUIP 1
        import uifastequip
        snd
.PlaySound("sound/ui/click.wav")
        
        
self.uuifastequipDlg uifastequip.changeequip()
        
self.uuifastequipDlg.Show()
    
elif constInfo.FAST_EQUIP == 1:
        
constInfo.FAST_EQUIP 0
        import uifastequip
        snd
.PlaySound("sound/ui/click.wav")
        
        
self.uuifastequipDlg uifastequip.changeequip()
        
self.uuifastequipDlg.Close()
    
    
# ¿ëÈ¥¼®
    
def DragonSoulActivate(selfdeck):
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.ActivateDragonSoulByExtern(deck)

    
def DragonSoulDeactivate(self):
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.DeactivateDragonSoul()
        
    
def Highligt_Item(selfinven_typeinven_pos):
        if 
player.DRAGON_SOUL_INVENTORY == inven_type:
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                
self.wndDragonSoul.HighlightSlot(inven_pos)
            
    
def DragonSoulGiveQuilification(self):
        
self.DRAGON_SOUL_IS_QUALIFIED TRUE
        self
.wndExpandedTaskBar.SetToolTipText(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOULuiScriptLocale.TASKBAR_DRAGON_SOUL)

    
def ToggleDragonSoulWindow(self):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
FALSE == self.wndDragonSoul.IsShow():
                    if 
self.DRAGON_SOUL_IS_QUALIFIED:
                        
self.wndDragonSoul.Show()
                    else:
                        try:
                            
self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_UNQUALIFIED)
                            
self.wndPopupDialog.Open()
                        
except:
                            
self.wndPopupDialog uiCommon.PopupDialog()
                            
self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_UNQUALIFIED)
                            
self.wndPopupDialog.Open()
                else:
                    
self.wndDragonSoul.Close()
        
    
def ToggleDragonSoulWindowWithNoInfo(self):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
FALSE == self.wndDragonSoul.IsShow():
                    if 
self.DRAGON_SOUL_IS_QUALIFIED:
                        
self.wndDragonSoul.Show()
                else:
                    
self.wndDragonSoul.Close()
                
    
def FailDragonSoulRefine(selfreasoninven_typeinven_pos):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
TRUE == self.wndDragonSoulRefine.IsShow():
                    
self.wndDragonSoulRefine.RefineFail(reasoninven_typeinven_pos)
 
    
def SucceedDragonSoulRefine(selfinven_typeinven_pos):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
TRUE == self.wndDragonSoulRefine.IsShow():
                    
self.wndDragonSoulRefine.RefineSucceed(inven_typeinven_pos)
 
    
def OpenDragonSoulRefineWindow(self):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
FALSE == self.wndDragonSoulRefine.IsShow():
                    
self.wndDragonSoulRefine.Show()
                    if 
None != self.wndDragonSoul:
                        if 
FALSE == self.wndDragonSoul.IsShow():
                            
self.wndDragonSoul.Show()

    
def CloseDragonSoulRefineWindow(self):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
TRUE == self.wndDragonSoulRefine.IsShow():
                    
self.wndDragonSoulRefine.Close()

    
# ¿ëÈ¥¼® ³¡
    
    
def ToggleGuildWindow(self):
        if 
not self.wndGuild.IsShow():
            if 
self.wndGuild.CanOpen():
                
self.wndGuild.Open()
            else:
                
chat.AppendChat(chat.CHAT_TYPE_INFOlocaleInfo.GUILD_YOU_DO_NOT_JOIN)
        else:
            
self.wndGuild.OverOutItem()
            
self.wndGuild.Hide()

    
def ToggleChatLogWindow(self):
        if 
self.wndChatLog.IsShow():
            
self.wndChatLog.Hide()
        else:
            
self.wndChatLog.Show()

    
def CheckGameButton(self):
        if 
self.wndGameButton:
            
self.wndGameButton.CheckGameButton()

    
def __OnClickStatusPlusButton(self):
        
self.ToggleCharacterWindow("STATUS")

    
def __OnClickSkillPlusButton(self):
        
self.ToggleCharacterWindow("SKILL")

    
def __OnClickQuestButton(self):
        
self.ToggleCharacterWindow("QUEST")

    
def __OnClickHelpButton(self):
        
player.SetPlayTime(1)
        
self.CheckGameButton()
        
self.OpenHelpWindow()

    
def __OnClickBuildButton(self):
        
self.BUILD_OpenWindow()

    
def OpenHelpWindow(self):
        
self.wndUICurtain.Show()
        
self.wndHelp.Open()

    
def CloseHelpWindow(self):
        
self.wndUICurtain.Hide()
        
self.wndHelp.Close()

    
def OpenWebWindow(selfurl):
        
self.wndWeb.Open(url)

        
# À¥ÆäÀÌÁö¸¦ ¿*¸é Ã¤ÆÃÀ» ´Ý´Â´Ù
        
self.wndChat.CloseChat()

    
# show GIFT
    
def ShowGift(self):
        
self.wndTaskBar.ShowGift()
            
    
def CloseWbWindow(self):
        
self.wndWeb.Close()

    
def OpenCubeWindow(self):
        
self.wndCube.Open()

        if 
FALSE == self.wndInventory.IsShow():
            
self.wndInventory.Show()

    
def UpdateCubeInfo(selfgolditemVnumcount):
        
self.wndCube.UpdateInfo(golditemVnumcount)

    
def CloseCubeWindow(self):
        
self.wndCube.Close()

    
def FailedCubeWork(self):
        
self.wndCube.Refresh()

    
def SucceedCubeWork(selfitemVnumcount):
        
self.wndCube.Clear()
        
        print 
"Å¥ºê Á¦ÀÛ ¼º°ø! [%d:%d]" % (itemVnumcount)

        if 
0# °á°ú ¸Þ½ÃÁö Ãâ·ÂÀº »ý·« ÇÑ´Ù
            
self.wndCubeResult.SetPosition(*self.wndCube.GetGlobalPosition())
            
self.wndCubeResult.SetCubeResultItem(itemVnumcount)
            
self.wndCubeResult.Open()
            
self.wndCubeResult.SetTop()

    
def __HideWindows(self):
        
hideWindows self.wndTaskBar,\
                        
self.wndCharacter,\
                        
self.wndInventory,\
                        
self.wndMiniMap,\
                        
self.wndGuild,\
                        
self.wndMessenger,\
                        
self.wndChat,\
                        
self.wndParty,\
                        
self.wndGameButton,

        if 
self.wndEnergyBar:
            
hideWindows += self.wndEnergyBar,
             
        if 
self.wndExpandedTaskBar:
             
hideWindows += self.wndExpandedTaskBar,
             
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
hideWindows += self.wndDragonSoul,\
                        
self.wndDragonSoulRefine,

        
hideWindows filter(lambda x:x.IsShow(), hideWindows)
        
map(lambda x:x.Hide(), hideWindows)
        
import sys

        self
.HideAllQuestButton()
        
self.HideAllWhisperButton()

        if 
self.wndChat.IsEditMode():
            
self.wndChat.CloseChat()

        return 
hideWindows

    def __ShowWindows
(selfwnds):
        
import sys
        map
(lambda x:x.Show(), wnds)
        global 
IsQBHide
        
if not IsQBHide:
            
self.ShowAllQuestButton()
        else:
            
self.HideAllQuestButton()

        
self.ShowAllWhisperButton()

    
def BINARY_OpenAtlasWindow(self):
        if 
self.wndMiniMap:
            
self.wndMiniMap.ShowAtlas()

    
def BINARY_SetObserverMode(selfflag):
        
self.wndGameButton.SetObserverMode(flag)

    
# ACCESSORY_REFINE_ADD_METIN_STONE
    
def BINARY_OpenSelectItemWindow(self):
        
self.wndItemSelect.Open()
    
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

    #####################################################################################
    ### Private Shop ###

    
def OpenPrivateShopInputNameDialog(self):
        
#if player.IsInSafeArea():
        #    chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CANNOT_OPEN_PRIVATE_SHOP_IN_SAFE_AREA)
        #    return

        
inputDialog uiCommon.InputDialog()
        
inputDialog.SetTitle(localeInfo.PRIVATE_SHOP_INPUT_NAME_DIALOG_TITLE)
        
inputDialog.SetMaxLength(32)
        
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OpenPrivateShopBuilder))
        
inputDialog.SetCancelEvent(ui.__mem_func__(self.ClosePrivateShopInputNameDialog))
        
inputDialog.Open()
        
self.inputDialog inputDialog

    def ClosePrivateShopInputNameDialog
(self):
        
self.inputDialog None
        
return TRUE

    def OpenPrivateShopBuilder
(self):

        if 
not self.inputDialog:
            return 
TRUE

        
if not len(self.inputDialog.GetText()):
            return 
TRUE

        self
.privateShopBuilder.Open(self.inputDialog.GetText())
        
self.ClosePrivateShopInputNameDialog()
        return 
TRUE

    def AppearPrivateShop
(selfvidtext):

        
board uiPrivateShopBuilder.PrivateShopAdvertisementBoard()
        
board.Open(vidtext)

        
self.privateShopAdvertisementBoardDict[vid] = board

    def DisappearPrivateShop
(selfvid):

        if 
not self.privateShopAdvertisementBoardDict.has_key(vid):
            return

        
del self.privateShopAdvertisementBoardDict[vid]
        
uiPrivateShopBuilder.DeleteADBoard(vid)

    
#####################################################################################
    ### Equipment ###

    
def OpenEquipmentDialog(selfvid):
        
dlg uiEquipmentDialog.EquipmentDialog()
        
dlg.SetItemToolTip(self.tooltipItem)
        
dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipmentDialog))
        
dlg.Open(vid)

        
self.equipmentDialogDict[vid] = dlg

    def SetEquipmentDialogItem
(selfvidslotIndexvnumcount):
        if 
not vid in self.equipmentDialogDict:
            return
        
self.equipmentDialogDict[vid].SetEquipmentDialogItem(slotIndexvnumcount)

    
def SetEquipmentDialogSocket(selfvidslotIndexsocketIndexvalue):
        if 
not vid in self.equipmentDialogDict:
            return
        
self.equipmentDialogDict[vid].SetEquipmentDialogSocket(slotIndexsocketIndexvalue)

    
def SetEquipmentDialogAttr(selfvidslotIndexattrIndextypevalue):
        if 
not vid in self.equipmentDialogDict:
            return
        
self.equipmentDialogDict[vid].SetEquipmentDialogAttr(slotIndexattrIndextypevalue)

    
def CloseEquipmentDialog(selfvid):
        if 
not vid in self.equipmentDialogDict:
            return
        
del self.equipmentDialogDict[vid]

    
#####################################################################################

    #####################################################################################
    ### Quest ###    
    
def BINARY_ClearQuest(selfindex):
        
btn self.__FindQuestButton(index)
        if 
!= btn:
            
self.__DestroyQuestButton(btn)        
    
    
def RecvQuest(selfindexname):
        
# QUEST_LETTER_IMAGE
        
self.BINARY_RecvQuest(indexname"file"localeInfo.GetLetterImageName())
        
# END_OF_QUEST_LETTER_IMAGE

    
def BINARY_RecvQuest(selfindexnameiconTypeiconName):

        
btn self.__FindQuestButton(index)
        if 
!= btn:
            
self.__DestroyQuestButton(btn)

        
btn uiWhisper.WhisperButton()

        
# QUEST_LETTER_IMAGE
        ##!! 20061026.levites.Äù½ºÆ®_À̹ÌÁö_±³Ã¼
        
import item
        
if "item"==iconType:
            
item.SelectItem(int(iconName))
            
buttonImageFileName=item.GetIconImageFileName()
        else:
            
buttonImageFileName=iconName

        
if localeInfo.IsEUROPE():
            if 
"highlight" == iconType:
                
btn.SetUpVisual("locale/ymir_ui/highlighted_quest.tga")
                
btn.SetOverVisual("locale/ymir_ui/highlighted_quest_r.tga")
                
btn.SetDownVisual("locale/ymir_ui/highlighted_quest_r.tga")
            else:
                
btn.SetUpVisual(localeInfo.GetLetterCloseImageName())
                
btn.SetOverVisual(localeInfo.GetLetterOpenImageName())
                
btn.SetDownVisual(localeInfo.GetLetterOpenImageName())                
        else:
            
btn.SetUpVisual(buttonImageFileName)
            
btn.SetOverVisual(buttonImageFileName)
            
btn.SetDownVisual(buttonImageFileName)
            
btn.Flash()
        
# END_OF_QUEST_LETTER_IMAGE

        
if localeInfo.IsARABIC():
            
btn.SetToolTipText(name035)
            
btn.ToolTipText.SetHorizontalAlignCenter()
        else:
            
btn.SetToolTipText(name, -2035)
            
btn.ToolTipText.SetHorizontalAlignLeft()
            
        
btn.SetEvent(ui.__mem_func__(self.__StartQuest), btn)
        
btn.Show()

        
btn.index index
        btn
.name name

        self
.questButtonList.insert(0btn)
        
self.__ArrangeQuestButton()

        
#chat.AppendChat(chat.CHAT_TYPE_NOTICE, localeInfo.QUEST_APPEND)

    
def __ArrangeQuestButton(self):

        
screenWidth wndMgr.GetScreenWidth()
        
screenHeight wndMgr.GetScreenHeight()

        
##!! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
        
if self.wndParty.IsShow():
            
xPos 100 30
        
else:
            
xPos 20

        
if localeInfo.IsARABIC():
            
xPos xPos 15

        yPos 
170 screenHeight 600
        yCount 
= (screenHeight 330) / 63

        count 
0
        
for btn in self.questButtonList:

            
btn.SetPosition(xPos + (int(count/yCount) * 100), yPos + (count%yCount 63))
            
count += 1
            
global IsQBHide
            
if IsQBHide:
                
btn.Hide()
            else:
                
btn.Show()

    
def __StartQuest(selfbtn):
        
event.QuestButtonClick(btn.index)
        
self.__DestroyQuestButton(btn)

    
def __FindQuestButton(selfindex):
        for 
btn in self.questButtonList:
            if 
btn.index == index:
                return 
btn

        
return 0

    def __DestroyQuestButton
(selfbtn):
        
btn.SetEvent(0)
        
self.questButtonList.remove(btn)
        
self.__ArrangeQuestButton()

    
def HideAllQuestButton(self):
        for 
btn in self.questButtonList:
            
btn.Hide()

    
def ShowAllQuestButton(self):
        for 
btn in self.questButtonList:
            
btn.Show()
    
#####################################################################################

    #####################################################################################
    ### Whisper ###

    
def __InitWhisper(self):
        
chat.InitWhisper(self)

    
## Ã¤ÆÃâÀÇ "¸Þ½ÃÁö º¸³»±â"¸¦ ´*·¶À»¶§ À̸§ ¾ø´Â ´ëÈ*âÀ» ¿©´Â ÇÔ¼ö
    ## À̸§ÀÌ ¾ø±â ¶§¹®¿¡ ±âÁ¸ÀÇ WhisperDialogDict ¿Í º°µµ·Î °ü¸®µÈ´Ù.
    
def OpenWhisperDialogWithoutTarget(self):
        if 
not self.dlgWhisperWithoutTarget:
            
dlgWhisper uiWhisper.WhisperDialog(self.MinimizeWhisperDialogself.CloseWhisperDialog)
            
dlgWhisper.BindInterface(self)
            
dlgWhisper.LoadDialog()
            
dlgWhisper.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
            
dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
            
dlgWhisper.Show()
            
self.dlgWhisperWithoutTarget dlgWhisper

            self
.windowOpenPosition = (self.windowOpenPosition+1) % 5

        
else:
            
self.dlgWhisperWithoutTarget.SetTop()
            
self.dlgWhisperWithoutTarget.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)

    
## À̸§ ¾ø´Â ´ëÈ*â¿¡¼* À̸§À» °áÁ¤ÇßÀ»¶§ WhisperDialogDict¿¡ Ã¢À» ³Ö¾îÁִ ÇÔ¼ö
    
def RegisterTemporaryWhisperDialog(selfname):
        if 
not self.dlgWhisperWithoutTarget:
            return

        
btn self.__FindWhisperButton(name)
        if 
!= btn:
            
self.__DestroyWhisperButton(btn)

        
elif self.whisperDialogDict.has_key(name):
            
oldDialog self.whisperDialogDict[name]
            
oldDialog.Destroy()
            
del self.whisperDialogDict[name]

        
self.whisperDialogDict[name] = self.dlgWhisperWithoutTarget
        self
.dlgWhisperWithoutTarget.OpenWithTarget(name)
        
self.dlgWhisperWithoutTarget None
        self
.__CheckGameMaster(name)

    
## Ä³¸¯ÅÍ ¸Þ´ºÀÇ 1:1 ´ëÈ* Çϱ⸦ ´*·¶À»¶§ À̸§À» °¡Áö°í ¹Ù·Î Ã¢À» ¿©´Â ÇÔ¼ö
    
def OpenWhisperDialog(selfname):
        if 
not self.whisperDialogDict.has_key(name):
            
dlg self.__MakeWhisperDialog(name)
            
dlg.OpenWithTarget(name)
            
dlg.chatLine.SetFocus()
            
dlg.Show()

            
self.__CheckGameMaster(name)
            
btn self.__FindWhisperButton(name)
            if 
!= btn:
                
self.__DestroyWhisperButton(btn)

    
## ´Ù¸¥ Ä³¸¯ÅͷκÎÅÍ ¸Þ¼¼Áö¸¦ ¹Þ¾ÒÀ»¶§ ÀÏ´Ü ¹öÆ°¸¸ ¶ç¿ö µÎ´Â ÇÔ¼ö
    
def RecvWhisper(selfname):
        if 
not self.whisperDialogDict.has_key(name):
            
btn self.__FindWhisperButton(name)
            if 
== btn:
                
btn self.__MakeWhisperButton(name)
                
btn.Flash()

                
chat.AppendChat(chat.CHAT_TYPE_NOTICElocaleInfo.RECEIVE_MESSAGE % (name))

            else:
                
btn.Flash()
        
elif self.IsGameMasterName(name):
            
dlg self.whisperDialogDict[name]
            
dlg.SetGameMasterLook()

    
def MakeWhisperButton(selfname):
        
self.__MakeWhisperButton(name)

    
## ¹öÆ°À» ´*·¶À»¶§ Ã¢À» ¿©´Â ÇÔ¼ö
    
def ShowWhisperDialog(selfbtn):
        try:
            
self.__MakeWhisperDialog(btn.name)
            
dlgWhisper self.whisperDialogDict[btn.name]
            
dlgWhisper.OpenWithTarget(btn.name)
            
dlgWhisper.Show()
            
self.__CheckGameMaster(btn.name)
        
except:
            
import dbg
            dbg
.TraceError("interface.ShowWhisperDialog - Failed to find key")

        
## ¹öÆ° ÃʱâÈ*
        
self.__DestroyWhisperButton(btn)

    
## WhisperDialog Ã¢¿¡¼* ÃÖ¼ÒÈ* ¸í·ÉÀ» ¼öÇàÇßÀ»¶§ È£ÃâµÇ´Â ÇÔ¼ö
    ## Ã¢À» ÃÖ¼ÒÈ* ÇÕ´Ï´Ù.
    
def MinimizeWhisperDialog(selfname):

        if 
!= name:
            
self.__MakeWhisperButton(name)

        
self.CloseWhisperDialog(name)

    
## WhisperDialog Ã¢¿¡¼* ´Ý±â ¸í·ÉÀ» ¼öÇàÇßÀ»¶§ È£ÃâµÇ´Â ÇÔ¼ö
    ## Ã¢À» Áö¿ó´Ï´Ù.
    
def CloseWhisperDialog(selfname):

        if 
== name:

            if 
self.dlgWhisperWithoutTarget:
                
self.dlgWhisperWithoutTarget.Destroy()
                
self.dlgWhisperWithoutTarget None

            
return

        try:
            
dlgWhisper self.whisperDialogDict[name]
            
dlgWhisper.Destroy()
            
del self.whisperDialogDict[name]
        
except:
            
import dbg
            dbg
.TraceError("interface.CloseWhisperDialog - Failed to find key")

    
## ¹öÆ°ÀÇ °³¼ö°¡ ¹Ù²î¾úÀ»¶§ ¹öÆ°À» ÀçÁ¤·Ä Çϴ ÇÔ¼ö
    
def __ArrangeWhisperButton(self):

        
screenWidth wndMgr.GetScreenWidth()
        
screenHeight wndMgr.GetScreenHeight()

        
xPos screenWidth 70
        yPos 
170 screenHeight 600
        yCount 
= (screenHeight 330) / 63
        
#yCount = (screenHeight - 285) / 63

        
count 0
        
for button in self.whisperButtonList:

            
button.SetPosition(xPos + (int(count/yCount) * -50), yPos + (count%yCount 63))
            
count += 1

    
## À̸§À¸·Î Whisper ¹öÆ°À» Ã£¾Æ ¸®ÅÏÇØ Áִ ÇÔ¼ö
    ## ¹öÆ°Àº µñ¼Å³Ê¸®·Î ÇÏÁö ¾Ê´Â °ÍÀº Á¤·Ä µÇ¾î ¹ö·Á ¼ø¼*°¡ À¯Áö µÇÁö ¾ÊÀ¸¸ç
    ## À̷ΠÀÎÇØ ToolTipµéÀÌ ´Ù¸¥ ¹öÆ°µé¿¡ ÀÇÇØ °¡·ÁÁö±â ¶§¹®ÀÌ´Ù.
    
def __FindWhisperButton(selfname):
        for 
button in self.whisperButtonList:
            if 
button.name == name:
                return 
button

        
return 0

    
## Ã¢À» ¸¸µì´Ï´Ù.
    
def __MakeWhisperDialog(selfname):
        
dlgWhisper uiWhisper.WhisperDialog(self.MinimizeWhisperDialogself.CloseWhisperDialog)
        
dlgWhisper.BindInterface(self)
        
dlgWhisper.LoadDialog()
        
dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
        
self.whisperDialogDict[name] = dlgWhisper

        self
.windowOpenPosition = (self.windowOpenPosition+1) % 5

        
return dlgWhisper

    
## ¹öÆ°À» ¸¸µì´Ï´Ù.
    
def __MakeWhisperButton(selfname):
        
whisperButton uiWhisper.WhisperButton()
        
whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
        
whisperButton.SetOverVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
        
whisperButton.SetDownVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
        if 
self.IsGameMasterName(name):
            
whisperButton.SetToolTipTextWithColor(name0xffffa200)
        else:
            
whisperButton.SetToolTipText(name)
        
whisperButton.ToolTipText.SetHorizontalAlignCenter()
        
whisperButton.SetEvent(ui.__mem_func__(self.ShowWhisperDialog), whisperButton)
        
whisperButton.Show()
        
whisperButton.name name

        self
.whisperButtonList.insert(0whisperButton)
        
self.__ArrangeWhisperButton()

        return 
whisperButton

    def __DestroyWhisperButton
(selfbutton):
        
button.SetEvent(0)
        
self.whisperButtonList.remove(button)
        
self.__ArrangeWhisperButton()

    
def HideAllWhisperButton(self):
        for 
btn in self.whisperButtonList:
            
btn.Hide()

    
def ShowAllWhisperButton(self):
        for 
btn in self.whisperButtonList:
            
btn.Show()

    
def __CheckGameMaster(selfname):
        if 
not self.listGMName.has_key(name):
            return
        if 
self.whisperDialogDict.has_key(name):
            
dlg self.whisperDialogDict[name]
            
dlg.SetGameMasterLook()

    
def RegisterGameMasterName(selfname):
        if 
self.listGMName.has_key(name):
            return
        
self.listGMName[name] = "GM"

    
def IsGameMasterName(selfname):
        if 
self.listGMName.has_key(name):
            return 
TRUE
        
else:
            return 
FALSE

    
#####################################################################################

    #####################################################################################
    ### Guild Building ###

    
def BUILD_OpenWindow(self):
        
self.wndGuildBuilding uiGuild.BuildGuildBuildingWindow()
        
self.wndGuildBuilding.Open()
        
self.wndGuildBuilding.wnds self.__HideWindows()
        
self.wndGuildBuilding.SetCloseEvent(ui.__mem_func__(self.BUILD_CloseWindow))

    
def BUILD_CloseWindow(self):
        
self.__ShowWindows(self.wndGuildBuilding.wnds)
        
self.wndGuildBuilding None

    def BUILD_OnUpdate
(self):
        if 
not self.wndGuildBuilding:
            return

        if 
self.wndGuildBuilding.IsPositioningMode():
            
import background
            x
ybackground.GetPickingPoint()
            
self.wndGuildBuilding.SetBuildingPosition(xyz)

    
def BUILD_OnMouseLeftButtonDown(self):
        if 
not self.wndGuildBuilding:
            return

        
# GUILD_BUILDING
        
if self.wndGuildBuilding.IsPositioningMode():
            
self.wndGuildBuilding.SettleCurrentPosition()
            return 
TRUE
        elif self
.wndGuildBuilding.IsPreviewMode():
            
pass
        
else:
            return 
TRUE
        
# END_OF_GUILD_BUILDING
        
return FALSE

    def BUILD_OnMouseLeftButtonUp
(self):
        if 
not self.wndGuildBuilding:
            return

        if 
not self.wndGuildBuilding.IsPreviewMode():
            return 
TRUE

        
return FALSE

    def BULID_EnterGuildArea
(selfareaID):
        
# GUILD_BUILDING
        
mainCharacterName player.GetMainCharacterName()
        
masterName guild.GetGuildMasterName()

        if 
mainCharacterName != masterName:
            return

        if 
areaID != player.GetGuildID():
            return
        
# END_OF_GUILD_BUILDING

        
self.wndGameButton.ShowBuildButton()

    
def BULID_ExitGuildArea(selfareaID):
        
self.wndGameButton.HideBuildButton()

    
#####################################################################################

    
def IsEditLineFocus(self):
        if 
self.ChatWindow.chatLine.IsFocus():
            return 
1

        
if self.ChatWindow.chatToLine.IsFocus():
            return 
1

        
return 0

    def EmptyFunction
(self):
        
pass

if __name__ == "__main__":

    
import app
    import wndMgr
    import systemSetting
    import mouseModule
    import grp
    import ui
    import localeInfo

    app
.SetMouseHandler(mouseModule.mouseController)
    
app.SetHairColorEnable(TRUE)
    
wndMgr.SetMouseHandler(mouseModule.mouseController)
    
wndMgr.SetScreenSize(systemSetting.GetWidth(), systemSetting.GetHeight())
    
app.Create(localeInfo.APP_TITLEsystemSetting.GetWidth(), systemSetting.GetHeight(), 1)
    
mouseModule.mouseController.Create()

    class 
TestGame(ui.Window):
        
def __init__(self):
            
ui.Window.__init__(self)

            
localeInfo.LoadLocaleData()
            
player.SetItemData(02700110)
            
player.SetItemData(12700410)

            
self.interface = Interface()
            
self.interface.MakeInterface()
            
self.interface.ShowDefaultWindows()
            
self.interface.RefreshInventory()
            
#self.interface.OpenCubeWindow()

        
def __del__(self):
            
ui.Window.__del__(self)

        
def OnUpdate(self):
            
app.UpdateGame()

        
def OnRender(self):
            
app.RenderGame()
            
grp.PopState()
            
grp.SetInterfaceRenderState()

    
game TestGame()
    
game.SetSize(systemSetting.GetWidth(), systemSetting.GetHeight())
    
game.Show()

    
app.Loop() 


Hat wer eine Lösung?
DeadBreakZz is offline  
Old 12/15/2014, 15:47   #2
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,938
Quote:
Originally Posted by Fear87 View Post
PHP Code:
1215 03:18:24030 ::   File "networkModule.py"line 239in SetGamePhase

1215 03
:18:24030 ::   File "game.py"line 109in __init__

1215 03
:18:24030 ::   File "interfaceModule.py"line 285in MakeInterface

1215 03
:18:24030 ::   File "interfaceModule.py"line 106in __MakeMessengerWindow

1215 03
:18:24030 :: AttributeError
1215 03
:18:24030 :: : 
1215 03:18:24030 :: 'Interface' object has no attribute 'ToggleGuildWindow'
1215 03:18:24031 :: 


PHP Code:
##
## Interface
##

import constInfo
import systemSetting
import wndMgr
import chat
import app
import player
import uifastequip

import uiTaskBar
import uiCharacter
import uiInventory
import uiDragonSoul
import uiChat
import uiMessenger
import guild

import ui
import uiHelp
import uiWhisper
import uiPointReset
import uiShop
import uiExchange
import uiSystem
import uiRestart
import uiToolTip
import uiMiniMap
import uiParty
import uiSafebox
import uiGuild
import uiQuest
import uiPrivateShopBuilder
import uiCommon
import uiRefine
import uiEquipmentDialog
import uiGameButton
import uiTip
import uiCube
import miniMap
# ACCESSORY_REFINE_ADD_METIN_STONE
import uiSelectItem
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
import uiScriptLocale

import event
import localeInfo

IsQBHide 
0
class Interface(object):
    
CHARACTER_STATUS_TAB 1
    CHARACTER_SKILL_TAB 
2
    
    def __init__
(self):
        
systemSetting.SetInterfaceHandler(self)
        
self.windowOpenPosition 0
        self
.dlgWhisperWithoutTarget None
        self
.inputDialog None
        self
.tipBoard None
        self
.bigBoard None

        
# ITEM_MALL
        
self.mallPageDlg None
        
# END_OF_ITEM_MALL

        
self.wndWeb None
        self
.wndTaskBar None
        self
.wndCharacter None
        self
.wndInventory None
        self
.wndExpandedTaskBar None
        self
.wndDragonSoul None
        self
.wndDragonSoulRefine None
        self
.wndChat None
        self
.wndMessenger None
        self
.wndMiniMap None
        self
.wndGuild None
        self
.wndGuildBuilding None

        self
.listGMName = {}
        
self.wndQuestWindow = []
        
self.privateShopAdvertisementBoardDict = {}
        
self.guildScoreBoardDict = {}
        
self.equipmentDialogDict = {}
        
event.SetInterfaceWindow(self)

    
def __del__(self):
        
systemSetting.DestroyInterfaceHandler()
        
event.SetInterfaceWindow(None)

    
################################
    ## Make Windows & Dialogs
    
def __MakeUICurtain(self):
        
wndUICurtain ui.Bar("TOP_MOST")
        
wndUICurtain.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
        
wndUICurtain.SetColor(0x77000000)
        
wndUICurtain.Hide()
        
self.wndUICurtain wndUICurtain

    def __MakeMessengerWindow
(self):
        
self.wndMessenger uiMessenger.MessengerWindow()

        
from _weakref import proxy
        self
.wndMessenger.SetWhisperButtonEvent(lambda n,i=proxy(self):i.OpenWhisperDialog(n))
        
self.wndMessenger.SetGuildButtonEvent(ui.__mem_func__(self.ToggleGuildWindow))

    
def __MakeGuildWindow(self):
        
self.wndGuild uiGuild.GuildWindow()

    
def __MakeChatWindow(self):
        
        
wndChat uiChat.ChatWindow()
        
        
wndChat.SetSize(wndChat.CHAT_WINDOW_WIDTH0)
        
wndChat.SetPosition(wndMgr.GetScreenWidth()/wndChat.CHAT_WINDOW_WIDTH/2wndMgr.GetScreenHeight() - wndChat.EDIT_LINE_HEIGHT 37)
        
wndChat.SetHeight(200)
        
wndChat.Refresh()
        
wndChat.Show()

        
self.wndChat wndChat
        self
.wndChat.BindInterface(self)
        
self.wndChat.SetSendWhisperEvent(ui.__mem_func__(self.OpenWhisperDialogWithoutTarget))
        
self.wndChat.SetOpenChatLogEvent(ui.__mem_func__(self.ToggleChatLogWindow))

    
def __MakeTaskBar(self):
        
wndTaskBar uiTaskBar.TaskBar()
        
wndTaskBar.LoadWindow()
        
self.wndTaskBar wndTaskBar
        self
.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHARACTERui.__mem_func__(self.ToggleCharacterWindowStatusPage))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_INVENTORYui.__mem_func__(self.ToggleInventoryWindow))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_MESSENGERui.__mem_func__(self.ToggleMessenger))
        
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEMui.__mem_func__(self.ToggleSystemDialog))
        if 
uiTaskBar.TaskBar.IS_EXPANDED:
            
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_EXPANDui.__mem_func__(self.ToggleExpandedButton))
            
self.wndExpandedTaskBar uiTaskBar.ExpandedTaskBar()
            
self.wndExpandedTaskBar.LoadWindow()
            
self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_FAST_EQUIPui.__mem_func__(self.ToggleFastEquipWindow))
            
self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOULui.__mem_func__(self.ToggleDragonSoulWindow))

        else:
            
self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHATui.__mem_func__(self.ToggleChat))
        
        
self.wndEnergyBar None
        import app
        
if app.ENABLE_ENERGY_SYSTEM:
            
wndEnergyBar uiTaskBar.EnergyBar()
            
wndEnergyBar.LoadWindow()
            
self.wndEnergyBar wndEnergyBar    

    def __MakeParty
(self):
        
wndParty uiParty.PartyWindow()
        
wndParty.Hide()
        
self.wndParty wndParty

    def __MakeGameButtonWindow
(self):
        
wndGameButton uiGameButton.GameButtonWindow()
        
wndGameButton.SetTop()
        
wndGameButton.Show()
        
wndGameButton.SetButtonEvent("STATUS"ui.__mem_func__(self.__OnClickStatusPlusButton))
        
wndGameButton.SetButtonEvent("SKILL"ui.__mem_func__(self.__OnClickSkillPlusButton))
        
wndGameButton.SetButtonEvent("QUEST"ui.__mem_func__(self.__OnClickQuestButton))
        
wndGameButton.SetButtonEvent("HELP"ui.__mem_func__(self.__OnClickHelpButton))
        
wndGameButton.SetButtonEvent("BUILD"ui.__mem_func__(self.__OnClickBuildButton))

        
self.wndGameButton wndGameButton

    def __IsChatOpen
(self):
        return 
TRUE
        
    def __MakeWindows
(self):
        
wndCharacter uiCharacter.CharacterWindow()
        
wndInventory uiInventory.InventoryWindow()
        
wndInventory.BindInterfaceClass(self)
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
wndDragonSoul uiDragonSoul.DragonSoulWindow()    
            
wndDragonSoulRefine uiDragonSoul.DragonSoulRefineWindow()
        else:
            
wndDragonSoul None
            wndDragonSoulRefine 
None
 
        wndMiniMap 
uiMiniMap.MiniMap()
        
wndSafebox uiSafebox.SafeboxWindow()
        
        
# ITEM_MALL
        
wndMall uiSafebox.MallWindow()
        
self.wndMall wndMall
        
# END_OF_ITEM_MALL

        
wndChatLog uiChat.ChatLogWindow()
        
wndChatLog.BindInterface(self)
        
        
self.wndCharacter wndCharacter
        self
.wndInventory wndInventory
        self
.wndDragonSoul wndDragonSoul
        self
.wndDragonSoulRefine wndDragonSoulRefine
        self
.wndMiniMap wndMiniMap
        self
.wndSafebox wndSafebox
        self
.wndChatLog wndChatLog
        
        
if app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)
            
self.wndDragonSoulRefine.SetInventoryWindows(self.wndInventoryself.wndDragonSoul)
            
self.wndInventory.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)

    
def __MakeDialogs(self):
        
self.dlgExchange uiExchange.ExchangeDialog()
        
self.dlgExchange.LoadDialog()
        
self.dlgExchange.SetCenterPosition()
        
self.dlgExchange.Hide()

        
self.dlgPointReset uiPointReset.PointResetDialog()
        
self.dlgPointReset.LoadDialog()
        
self.dlgPointReset.Hide()

        
self.dlgShop uiShop.ShopDialog()
        
self.dlgShop.LoadDialog()
        
self.dlgShop.Hide()

        
self.dlgRestart uiRestart.RestartDialog()
        
self.dlgRestart.LoadDialog()
        
self.dlgRestart.Hide()

        
self.dlgSystem uiSystem.SystemDialog()
        
self.dlgSystem.LoadDialog()
        
self.dlgSystem.SetOpenHelpWindowEvent(ui.__mem_func__(self.OpenHelpWindow))

        
self.dlgSystem.Hide()

        
self.dlgPassword uiSafebox.PasswordDialog()
        
self.dlgPassword.Hide()

        
self.hyperlinkItemTooltip uiToolTip.HyperlinkItemToolTip()
        
self.hyperlinkItemTooltip.Hide()

        
self.tooltipItem uiToolTip.ItemToolTip()
        
self.tooltipItem.Hide()

        
self.tooltipSkill uiToolTip.SkillToolTip()
        
self.tooltipSkill.Hide()

        
self.privateShopBuilder uiPrivateShopBuilder.PrivateShopBuilder()
        
self.privateShopBuilder.Hide()

        
self.dlgRefineNew uiRefine.RefineDialogNew()
        
self.dlgRefineNew.Hide()

    
def __MakeHelpWindow(self):
        
self.wndHelp uiHelp.HelpWindow()
        
self.wndHelp.LoadDialog()
        
self.wndHelp.SetCloseEvent(ui.__mem_func__(self.CloseHelpWindow))
        
self.wndHelp.Hide()

    
def __MakeTipBoard(self):
        
self.tipBoard uiTip.TipBoard()
        
self.tipBoard.Hide()

        
self.bigBoard uiTip.BigBoard()
        
self.bigBoard.Hide()

    
def __MakeWebWindow(self):
        if 
constInfo.IN_GAME_SHOP_ENABLE:
            
import uiWeb
            self
.wndWeb uiWeb.WebWindow()
            
self.wndWeb.LoadWindow()
            
self.wndWeb.Hide()

    
def __MakeCubeWindow(self):
        
self.wndCube uiCube.CubeWindow()
        
self.wndCube.LoadWindow()
        
self.wndCube.Hide()

    
def __MakeCubeResultWindow(self):
        
self.wndCubeResult uiCube.CubeResultWindow()
        
self.wndCubeResult.LoadWindow()
        
self.wndCubeResult.Hide()

    
# ACCESSORY_REFINE_ADD_METIN_STONE
    
def __MakeItemSelectWindow(self):
        
self.wndItemSelect uiSelectItem.SelectItemWindow()
        
self.wndItemSelect.Hide()
    
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
                
    
def MakeInterface(self):
        
self.__MakeMessengerWindow()
        
self.__MakeGuildWindow()
        
self.__MakeChatWindow()
        
self.__MakeParty()
        
self.__MakeWindows()
        
self.__MakeDialogs()

        
self.__MakeUICurtain()
        
self.__MakeTaskBar()
        
self.__MakeGameButtonWindow()
        
self.__MakeHelpWindow()
        
self.__MakeTipBoard()
        
self.__MakeWebWindow()
        
self.__MakeCubeWindow()
        
self.__MakeCubeResultWindow()
        
        
        
# ACCESSORY_REFINE_ADD_METIN_STONE
        
self.__MakeItemSelectWindow()
        
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

        
self.questButtonList = []
        
self.whisperButtonList = []
        
self.whisperDialogDict = {}
        
self.privateShopAdvertisementBoardDict = {}

        
self.wndInventory.SetItemToolTip(self.tooltipItem)
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.SetItemToolTip(self.tooltipItem)
            
self.wndDragonSoulRefine.SetItemToolTip(self.tooltipItem)
        
self.wndSafebox.SetItemToolTip(self.tooltipItem)
        
self.wndCube.SetItemToolTip(self.tooltipItem)
        
self.wndCubeResult.SetItemToolTip(self.tooltipItem)

        
# ITEM_MALL
        
self.wndMall.SetItemToolTip(self.tooltipItem)
        
# END_OF_ITEM_MALL

        
self.wndCharacter.SetSkillToolTip(self.tooltipSkill)
        
self.wndTaskBar.SetItemToolTip(self.tooltipItem)
        
self.wndTaskBar.SetSkillToolTip(self.tooltipSkill)
        
self.wndGuild.SetSkillToolTip(self.tooltipSkill)

        
# ACCESSORY_REFINE_ADD_METIN_STONE
        
self.wndItemSelect.SetItemToolTip(self.tooltipItem)
        
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

        
self.dlgShop.SetItemToolTip(self.tooltipItem)
        
self.dlgExchange.SetItemToolTip(self.tooltipItem)
        
self.privateShopBuilder.SetItemToolTip(self.tooltipItem)

        
self.__InitWhisper()
        
self.DRAGON_SOUL_IS_QUALIFIED TRUE

    def MakeHyperlinkTooltip
(selfhyperlink):
        
tokens hyperlink.split(":")
        if 
tokens and len(tokens):
            
type tokens[0]
            if 
"item" == type:
                
self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)

    
## Make Windows & Dialogs
    ################################

    
def Close(self):

        if 
self.dlgWhisperWithoutTarget:
            
self.dlgWhisperWithoutTarget.Destroy()
            
del self.dlgWhisperWithoutTarget

        
if uiQuest.QuestDialog.__dict__.has_key("QuestCurtain"):
            
uiQuest.QuestDialog.QuestCurtain.Close()

        if 
self.wndQuestWindow:
            for 
eachQuestWindow in self.wndQuestWindow:
                
eachQuestWindow.nextCurtainMode = -1
                eachQuestWindow
.CloseSelf()
                
eachQuestWindow None

        
if self.wndChat:
            
self.wndChat.Destroy()

        if 
self.wndTaskBar:
            
self.wndTaskBar.Destroy()
        
        if 
self.wndExpandedTaskBar:
            
self.wndExpandedTaskBar.Destroy()
            
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Destroy()

        if 
self.wndCharacter:
            
self.wndCharacter.Destroy()

        if 
self.wndInventory:
            
self.wndInventory.Destroy()
            
        if 
self.wndDragonSoul:
            
self.wndDragonSoul.Destroy()

        if 
self.wndDragonSoulRefine:
            
self.wndDragonSoulRefine.Destroy()

        if 
self.dlgExchange:
            
self.dlgExchange.Destroy()

        if 
self.dlgPointReset:
            
self.dlgPointReset.Destroy()

        if 
self.dlgShop:
            
self.dlgShop.Destroy()

        if 
self.dlgRestart:
            
self.dlgRestart.Destroy()

        if 
self.dlgSystem:
            
self.dlgSystem.Destroy()

        if 
self.dlgPassword:
            
self.dlgPassword.Destroy()

        if 
self.wndMiniMap:
            
self.wndMiniMap.Destroy()

        if 
self.wndSafebox:
            
self.wndSafebox.Destroy()

        if 
self.wndWeb:
            
self.wndWeb.Destroy()
            
self.wndWeb None

        
if self.wndMall:
            
self.wndMall.Destroy()

        if 
self.wndParty:
            
self.wndParty.Destroy()

        if 
self.wndHelp:
            
self.wndHelp.Destroy()

        if 
self.wndCube:
            
self.wndCube.Destroy()
            
        if 
self.wndCubeResult:
            
self.wndCubeResult.Destroy()

        if 
self.wndMessenger:
            
self.wndMessenger.Destroy()

        if 
self.wndGuild:
            
self.wndGuild.Destroy()

        if 
self.privateShopBuilder:
            
self.privateShopBuilder.Destroy()

        if 
self.dlgRefineNew:
            
self.dlgRefineNew.Destroy()

        if 
self.wndGuildBuilding:
            
self.wndGuildBuilding.Destroy()

        if 
self.wndGameButton:
            
self.wndGameButton.Destroy()

        
# ITEM_MALL
        
if self.mallPageDlg:
            
self.mallPageDlg.Destroy()
        
# END_OF_ITEM_MALL

        # ACCESSORY_REFINE_ADD_METIN_STONE
        
if self.wndItemSelect:
            
self.wndItemSelect.Destroy()
        
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

        
self.wndChatLog.Destroy()
        for 
btn in self.questButtonList:
            
btn.SetEvent(0)
        for 
btn in self.whisperButtonList:
            
btn.SetEvent(0)
        for 
dlg in self.whisperDialogDict.itervalues():
            
dlg.Destroy()
        for 
brd in self.guildScoreBoardDict.itervalues():
            
brd.Destroy()
        for 
dlg in self.equipmentDialogDict.itervalues():
            
dlg.Destroy()

        
# ITEM_MALL
        
del self.mallPageDlg
        
# END_OF_ITEM_MALL

        
del self.wndGuild
        del self
.wndMessenger
        del self
.wndUICurtain
        del self
.wndChat
        del self
.wndTaskBar
        
if self.wndExpandedTaskBar:
            
del self.wndExpandedTaskBar
        del self
.wndEnergyBar
        del self
.wndCharacter
        del self
.wndInventory
        
if self.wndDragonSoul:
            
del self.wndDragonSoul
        
if self.wndDragonSoulRefine:
            
del self.wndDragonSoulRefine
        del self
.dlgExchange
        del self
.dlgPointReset
        del self
.dlgShop
        del self
.dlgRestart
        del self
.dlgSystem
        del self
.dlgPassword
        del self
.hyperlinkItemTooltip
        del self
.tooltipItem
        del self
.tooltipSkill
        del self
.wndMiniMap
        del self
.wndSafebox
        del self
.wndMall
        del self
.wndParty
        del self
.wndHelp
        del self
.wndCube
        del self
.wndCubeResult
        del self
.privateShopBuilder
        del self
.inputDialog
        del self
.wndChatLog
        del self
.dlgRefineNew
        del self
.wndGuildBuilding
        del self
.wndGameButton
        del self
.tipBoard
        del self
.bigBoard
        del self
.wndItemSelect

        self
.questButtonList = []
        
self.whisperButtonList = []
        
self.whisperDialogDict = {}
        
self.privateShopAdvertisementBoardDict = {}
        
self.guildScoreBoardDict = {}
        
self.equipmentDialogDict = {}

        
uiChat.DestroyChatInputSetWindow()

    
## Self
    
def SetOpenBoniSwitcherEvent(selfevent):
        
self.wndInventory.SetOpenBoniSwitcherEvent(event)

    
## Skill
    
def OnUseSkill(selfslotIndexcoolTime):
        
self.wndCharacter.OnUseSkill(slotIndexcoolTime)
        
self.wndTaskBar.OnUseSkill(slotIndexcoolTime)
        
self.wndGuild.OnUseSkill(slotIndexcoolTime)

    
def OnActivateSkill(selfslotIndex):
        
self.wndCharacter.OnActivateSkill(slotIndex)
        
self.wndTaskBar.OnActivateSkill(slotIndex)

    
def OnDeactivateSkill(selfslotIndex):
        
self.wndCharacter.OnDeactivateSkill(slotIndex)
        
self.wndTaskBar.OnDeactivateSkill(slotIndex)

    
def OnChangeCurrentSkill(selfskillSlotNumber):
        
self.wndTaskBar.OnChangeCurrentSkill(skillSlotNumber)

    
def SelectMouseButtonEvent(selfdirevent):
        
self.wndTaskBar.SelectMouseButtonEvent(direvent)

    
## Refresh
    
def RefreshAlignment(self):
        
self.wndCharacter.RefreshAlignment()

    
def RefreshStatus(self):
        
self.wndTaskBar.RefreshStatus()
        
self.wndCharacter.RefreshStatus()
        
self.wndInventory.RefreshStatus()
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.RefreshStatus()
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.RefreshStatus()

    
def RefreshStamina(self):
        
self.wndTaskBar.RefreshStamina()

    
def RefreshSkill(self):
        
self.wndCharacter.RefreshSkill()
        
self.wndTaskBar.RefreshSkill()

    
def RefreshInventory(self):
        
self.wndTaskBar.RefreshQuickSlot()
        
self.wndInventory.RefreshItemSlot()
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.RefreshItemSlot()

    
def RefreshCharacter(self): ## Character ÆäÀÌÁöÀÇ ¾ó±¼, Inventory ÆäÀÌÁöÀÇ Àü½Å ±×¸² µîÀÇ Refresh
        
self.wndCharacter.RefreshCharacter()
        
self.wndTaskBar.RefreshQuickSlot()

    
def RefreshQuest(self):
        
self.wndCharacter.RefreshQuest()

    
def RefreshSafebox(self):
        
self.wndSafebox.RefreshSafebox()

    
# ITEM_MALL
    
def RefreshMall(self):
        
self.wndMall.RefreshMall()

    
def OpenItemMall(self):
        if 
not self.mallPageDlg:
            
self.mallPageDlg uiShop.MallPageDialog()

        
self.mallPageDlg.Open()
    
# END_OF_ITEM_MALL

    
def RefreshMessenger(self):
        
self.wndMessenger.RefreshMessenger()

    
def RefreshGuildInfoPage(self):
        
self.wndGuild.RefreshGuildInfoPage()

    
def RefreshGuildBoardPage(self):
        
self.wndGuild.RefreshGuildBoardPage()

    
def RefreshGuildMemberPage(self):
        
self.wndGuild.RefreshGuildMemberPage()

    
def RefreshGuildMemberPageGradeComboBox(self):
        
self.wndGuild.RefreshGuildMemberPageGradeComboBox()

    
def RefreshGuildSkillPage(self):
        
self.wndGuild.RefreshGuildSkillPage()

    
def RefreshGuildGradePage(self):
        
self.wndGuild.RefreshGuildGradePage()

    
def DeleteGuild(self):
        
self.wndMessenger.ClearGuildMember()
        
self.wndGuild.DeleteGuild()

    
def RefreshMobile(self):
        
self.dlgSystem.RefreshMobile()

    
def OnMobileAuthority(self):
        
self.dlgSystem.OnMobileAuthority()

    
def OnBlockMode(selfmode):
        
self.dlgSystem.OnBlockMode(mode)

    
## Calling Functions
    # PointReset
    
def OpenPointResetDialog(self):
        
self.dlgPointReset.Show()
        
self.dlgPointReset.SetTop()

    
def ClosePointResetDialog(self):
        
self.dlgPointReset.Close()

    
# Shop
    
def OpenShopDialog(selfvid):
        
self.wndInventory.Show()
        
self.wndInventory.SetTop()
        
self.dlgShop.Open(vid)
        
self.dlgShop.SetTop()

    
def CloseShopDialog(self):
        
self.dlgShop.Close()

    
def RefreshShopDialog(self):
        
self.dlgShop.Refresh()

    
## Quest
    
def OpenCharacterWindowQuestPage(self):
        
self.wndCharacter.Show()
        
self.wndCharacter.SetState("QUEST")

    
def OpenQuestWindow(selfskinidx):

        
wnds = ()

        
uiQuest.QuestDialog(skinidx)
        
q.SetWindowName("QuestWindow" str(idx))
        
q.Show()
        if 
skin:
            
q.Lock()
            
wnds self.__HideWindows()

            
# UNKNOWN_UPDATE
            
q.AddOnDoneEvent(lambda tmp_selfargs=wndsself.__ShowWindows(args))
            
# END_OF_UNKNOWN_UPDATE

        
if skin:
            
q.AddOnCloseEvent(q.Unlock)
        
        
q.AddOnCloseEvent(lambda s selfqw qs.__dict__.__getitem__("wndQuestWindow").remove(qw))

        
# UNKNOWN_UPDATE
        
self.wndQuestWindow.append(q)
        
# END_OF_UNKNOWN_UPDATE

    ## Exchange
    
def StartExchange(self):
        
self.dlgExchange.OpenDialog()
        
self.dlgExchange.Refresh()

    
def EndExchange(self):
        
self.dlgExchange.CloseDialog()

    
def RefreshExchange(self):
        
self.dlgExchange.Refresh()

    
## Party
    
def AddPartyMember(selfpidname):
        
self.wndParty.AddPartyMember(pidname)

        
self.__ArrangeQuestButton()

    
def UpdatePartyMemberInfo(selfpid):
        
self.wndParty.UpdatePartyMemberInfo(pid)

    
def RemovePartyMember(selfpid):
        
self.wndParty.RemovePartyMember(pid)

        
##!! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
        
self.__ArrangeQuestButton()

    
def LinkPartyMember(selfpidvid):
        
self.wndParty.LinkPartyMember(pidvid)

    
def UnlinkPartyMember(selfpid):
        
self.wndParty.UnlinkPartyMember(pid)

    
def UnlinkAllPartyMember(self):
        
self.wndParty.UnlinkAllPartyMember()

    
def ExitParty(self):
        
self.wndParty.ExitParty()

        
##!! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
        
self.__ArrangeQuestButton()

    
def PartyHealReady(self):
        
self.wndParty.PartyHealReady()

    
def ChangePartyParameter(selfdistributionMode):
        
self.wndParty.ChangePartyParameter(distributionMode)

    
## Safebox
    
def AskSafeboxPassword(self):
        if 
self.wndSafebox.IsShow():
            return

        
# SAFEBOX_PASSWORD
        
self.dlgPassword.SetTitle(localeInfo.PASSWORD_TITLE)
        
self.dlgPassword.SetSendMessage("/safebox_password ")
        
# END_OF_SAFEBOX_PASSWORD

        
self.dlgPassword.ShowDialog()

    
def OpenSafeboxWindow(selfsize):
        
self.dlgPassword.CloseDialog()
        
self.wndSafebox.ShowWindow(size)

    
def RefreshSafeboxMoney(self):
        
self.wndSafebox.RefreshSafeboxMoney()

    
def CommandCloseSafebox(self):
        
self.wndSafebox.CommandCloseSafebox()

    
# ITEM_MALL
    
def AskMallPassword(self):
        if 
self.wndMall.IsShow():
            return
        
self.dlgPassword.SetTitle(localeInfo.MALL_PASSWORD_TITLE)
        
self.dlgPassword.SetSendMessage("/mall_password ")
        
self.dlgPassword.ShowDialog()

    
def OpenMallWindow(selfsize):
        
self.dlgPassword.CloseDialog()
        
self.wndMall.ShowWindow(size)

    
def CommandCloseMall(self):
        
self.wndMall.CommandCloseMall()
    
# END_OF_ITEM_MALL

    ## Guild
    
def OnStartGuildWar(selfguildSelfguildOpp):
        
self.wndGuild.OnStartGuildWar(guildSelfguildOpp)

        
guildWarScoreBoard uiGuild.GuildWarScoreBoard()
        
guildWarScoreBoard.Open(guildSelfguildOpp)
        
guildWarScoreBoard.Show()
        
self.guildScoreBoardDict[uiGuild.GetGVGKey(guildSelfguildOpp)] = guildWarScoreBoard

    def OnEndGuildWar
(selfguildSelfguildOpp):
        
self.wndGuild.OnEndGuildWar(guildSelfguildOpp)

        
key uiGuild.GetGVGKey(guildSelfguildOpp)

        if 
not self.guildScoreBoardDict.has_key(key):
            return

        
self.guildScoreBoardDict[key].Destroy()
        
del self.guildScoreBoardDict[key]

    
# GUILDWAR_MEMBER_COUNT
    
def UpdateMemberCount(selfgulidID1memberCount1guildID2memberCount2):
        
key uiGuild.GetGVGKey(gulidID1guildID2)

        if 
not self.guildScoreBoardDict.has_key(key):
            return

        
self.guildScoreBoardDict[key].UpdateMemberCount(gulidID1memberCount1guildID2memberCount2)
    
# END_OF_GUILDWAR_MEMBER_COUNT

    
def OnRecvGuildWarPoint(selfgainGuildIDopponentGuildIDpoint):
        
key uiGuild.GetGVGKey(gainGuildIDopponentGuildID)
        if 
not self.guildScoreBoardDict.has_key(key):
            return

        
guildBoard self.guildScoreBoardDict[key]
        
guildBoard.SetScore(gainGuildIDopponentGuildIDpoint)

    
## PK Mode
    
def OnChangePKMode(self):
        
self.wndCharacter.RefreshAlignment()
        
self.dlgSystem.OnChangePKMode()

    
## Refine
    
def OpenRefineDialog(selftargetItemPosnextGradeItemVnumcostprobtype):
        
self.dlgRefineNew.Open(targetItemPosnextGradeItemVnumcostprobtype)

    
def AppendMaterialToRefineDialog(selfvnumcount):
        
self.dlgRefineNew.AppendMaterial(vnumcount)

    
## Show & Hide
    
def ShowDefaultWindows(self):
        
self.wndTaskBar.Show()
        
self.wndMiniMap.Show()
        
self.wndMiniMap.ShowMiniMap()
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Show()

    
def ShowAllWindows(self):
        
self.wndTaskBar.Show()
        
self.wndCharacter.Show()
        
self.wndInventory.Show()
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.Show()
            
self.wndDragonSoulRefine.Show()
        
self.wndChat.Show()
        
self.wndMiniMap.Show()
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Show()
        if 
self.wndExpandedTaskBar:
            
self.wndExpandedTaskBar.Show()
            
self.wndExpandedTaskBar.SetTop()

    
def HideAllWindows(self):
        if 
self.wndTaskBar:
            
self.wndTaskBar.Hide()
        
        if 
self.wndEnergyBar:
            
self.wndEnergyBar.Hide()

        if 
self.wndCharacter:
            
self.wndCharacter.Hide()

        if 
self.wndInventory:
            
self.wndInventory.Hide()
            
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.Hide()
            
self.wndDragonSoulRefine.Hide()

        if 
self.wndChat:
            
self.wndChat.Hide()

        if 
self.wndMiniMap:
            
self.wndMiniMap.Hide()

        if 
self.wndMessenger:
            
self.wndMessenger.Hide()

        if 
self.wndGuild:
            
self.wndGuild.Hide()
            
        if 
self.wndExpandedTaskBar:
            
self.wndExpandedTaskBar.Hide()
 

    
def ShowMouseImage(self):
        
self.wndTaskBar.ShowMouseImage()

    
def HideMouseImage(self):
        
self.wndTaskBar.HideMouseImage()

    
def ToggleChat(self):
        if 
TRUE == self.wndChat.IsEditMode():
            
self.wndChat.CloseChat()
        else:
            
# À¥ÆäÀÌÁö°¡ ¿*·ÈÀ»¶§´Â Ã¤ÆàÀÔ·ÂÀÌ ¾ÈµÊ
            
if self.wndWeb and self.wndWeb.IsShow():
                
pass
            
else:
                
self.wndChat.OpenChat()

    
def IsOpenChat(self):
        return 
self.wndChat.IsEditMode()

    
def SetChatFocus(self):
        
self.wndChat.SetChatFocus()

    
def OpenRestartDialog(self):
        
self.dlgRestart.OpenDialog()
        
self.dlgRestart.SetTop()

    
def CloseRestartDialog(self):
        
self.dlgRestart.Close()

    
def ToggleSystemDialog(self):
        if 
FALSE == self.dlgSystem.IsShow():
            
self.dlgSystem.OpenDialog()
            
self.dlgSystem.SetTop()
        else:
            
self.dlgSystem.Close()

    
def OpenSystemDialog(self):
        
self.dlgSystem.OpenDialog()
        
self.dlgSystem.SetTop()

    
def ToggleMessenger(self):
        if 
self.wndMessenger.IsShow():
            
self.wndMessenger.Hide()
        else:
            
self.wndMessenger.SetTop()
            
self.wndMessenger.Show()

    
def ToggleMiniMap(self):
        if 
app.IsPressed(app.DIK_LSHIFT) or app.IsPressed(app.DIK_RSHIFT):
            if 
FALSE == self.wndMiniMap.isShowMiniMap():
                
self.wndMiniMap.ShowMiniMap()
                
self.wndMiniMap.SetTop()
            else:
                
self.wndMiniMap.HideMiniMap()

        else:
            
self.wndMiniMap.ToggleAtlasWindow()

    
def PressMKey(self):
        if 
app.IsPressed(app.DIK_LALT) or app.IsPressed(app.DIK_RALT):
            
self.ToggleMessenger()

        else:
            
self.ToggleMiniMap()

    
def SetMapName(selfmapName):
        
self.wndMiniMap.SetMapName(mapName)

    
def MiniMapScaleUp(self):
        
self.wndMiniMap.ScaleUp()

    
def MiniMapScaleDown(self):
        
self.wndMiniMap.ScaleDown()

    
def ToggleCharacterWindow(selfstate):
        if 
FALSE == player.IsObserverMode():
            if 
FALSE == self.wndCharacter.IsShow():
                
self.OpenCharacterWindowWithState(state)
            else:
                if 
state == self.wndCharacter.GetState():
                    
self.wndCharacter.OverOutItem()
                    
self.wndCharacter.Hide()
                else:
                    
self.wndCharacter.SetState(state)

    
def OpenCharacterWindowWithState(selfstate):
        if 
FALSE == player.IsObserverMode():
            
self.wndCharacter.SetState(state)
            
self.wndCharacter.Show()
            
self.wndCharacter.SetTop()

    
def ToggleCharacterWindowStatusPage(self):
        
self.ToggleCharacterWindow("STATUS")

    
def ToggleInventoryWindow(self):
        if 
FALSE == player.IsObserverMode():
            if 
FALSE == self.wndInventory.IsShow():
                
self.wndInventory.Show()
                
self.wndInventory.SetTop()
            else:
                
self.wndInventory.OverOutItem()
                
self.wndInventory.Close()
    
    
def ToggleExpandedButton(self):
        if 
FALSE == player.IsObserverMode():
            if 
FALSE == self.wndExpandedTaskBar.IsShow():
                
self.wndExpandedTaskBar.Show()
                
self.wndExpandedTaskBar.SetTop()
            else:
                
self.wndExpandedTaskBar.Close()
                
def ToggleFastEquipWindow(self):
    if 
constInfo.FAST_EQUIP == 0:
        
constInfo.FAST_EQUIP 1
        import uifastequip
        snd
.PlaySound("sound/ui/click.wav")
        
        
self.uuifastequipDlg uifastequip.changeequip()
        
self.uuifastequipDlg.Show()
    
elif constInfo.FAST_EQUIP == 1:
        
constInfo.FAST_EQUIP 0
        import uifastequip
        snd
.PlaySound("sound/ui/click.wav")
        
        
self.uuifastequipDlg uifastequip.changeequip()
        
self.uuifastequipDlg.Close()
    
    
# ¿ëÈ¥¼®
    
def DragonSoulActivate(selfdeck):
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.ActivateDragonSoulByExtern(deck)

    
def DragonSoulDeactivate(self):
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
self.wndDragonSoul.DeactivateDragonSoul()
        
    
def Highligt_Item(selfinven_typeinven_pos):
        if 
player.DRAGON_SOUL_INVENTORY == inven_type:
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                
self.wndDragonSoul.HighlightSlot(inven_pos)
            
    
def DragonSoulGiveQuilification(self):
        
self.DRAGON_SOUL_IS_QUALIFIED TRUE
        self
.wndExpandedTaskBar.SetToolTipText(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOULuiScriptLocale.TASKBAR_DRAGON_SOUL)

    
def ToggleDragonSoulWindow(self):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
FALSE == self.wndDragonSoul.IsShow():
                    if 
self.DRAGON_SOUL_IS_QUALIFIED:
                        
self.wndDragonSoul.Show()
                    else:
                        try:
                            
self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_UNQUALIFIED)
                            
self.wndPopupDialog.Open()
                        
except:
                            
self.wndPopupDialog uiCommon.PopupDialog()
                            
self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_UNQUALIFIED)
                            
self.wndPopupDialog.Open()
                else:
                    
self.wndDragonSoul.Close()
        
    
def ToggleDragonSoulWindowWithNoInfo(self):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
FALSE == self.wndDragonSoul.IsShow():
                    if 
self.DRAGON_SOUL_IS_QUALIFIED:
                        
self.wndDragonSoul.Show()
                else:
                    
self.wndDragonSoul.Close()
                
    
def FailDragonSoulRefine(selfreasoninven_typeinven_pos):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
TRUE == self.wndDragonSoulRefine.IsShow():
                    
self.wndDragonSoulRefine.RefineFail(reasoninven_typeinven_pos)
 
    
def SucceedDragonSoulRefine(selfinven_typeinven_pos):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
TRUE == self.wndDragonSoulRefine.IsShow():
                    
self.wndDragonSoulRefine.RefineSucceed(inven_typeinven_pos)
 
    
def OpenDragonSoulRefineWindow(self):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
FALSE == self.wndDragonSoulRefine.IsShow():
                    
self.wndDragonSoulRefine.Show()
                    if 
None != self.wndDragonSoul:
                        if 
FALSE == self.wndDragonSoul.IsShow():
                            
self.wndDragonSoul.Show()

    
def CloseDragonSoulRefineWindow(self):
        if 
FALSE == player.IsObserverMode():
            if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
                if 
TRUE == self.wndDragonSoulRefine.IsShow():
                    
self.wndDragonSoulRefine.Close()

    
# ¿ëÈ¥¼® ³¡
    
    
def ToggleGuildWindow(self):
        if 
not self.wndGuild.IsShow():
            if 
self.wndGuild.CanOpen():
                
self.wndGuild.Open()
            else:
                
chat.AppendChat(chat.CHAT_TYPE_INFOlocaleInfo.GUILD_YOU_DO_NOT_JOIN)
        else:
            
self.wndGuild.OverOutItem()
            
self.wndGuild.Hide()

    
def ToggleChatLogWindow(self):
        if 
self.wndChatLog.IsShow():
            
self.wndChatLog.Hide()
        else:
            
self.wndChatLog.Show()

    
def CheckGameButton(self):
        if 
self.wndGameButton:
            
self.wndGameButton.CheckGameButton()

    
def __OnClickStatusPlusButton(self):
        
self.ToggleCharacterWindow("STATUS")

    
def __OnClickSkillPlusButton(self):
        
self.ToggleCharacterWindow("SKILL")

    
def __OnClickQuestButton(self):
        
self.ToggleCharacterWindow("QUEST")

    
def __OnClickHelpButton(self):
        
player.SetPlayTime(1)
        
self.CheckGameButton()
        
self.OpenHelpWindow()

    
def __OnClickBuildButton(self):
        
self.BUILD_OpenWindow()

    
def OpenHelpWindow(self):
        
self.wndUICurtain.Show()
        
self.wndHelp.Open()

    
def CloseHelpWindow(self):
        
self.wndUICurtain.Hide()
        
self.wndHelp.Close()

    
def OpenWebWindow(selfurl):
        
self.wndWeb.Open(url)

        
# À¥ÆäÀÌÁö¸¦ ¿*¸é Ã¤ÆÃÀ» ´Ý´Â´Ù
        
self.wndChat.CloseChat()

    
# show GIFT
    
def ShowGift(self):
        
self.wndTaskBar.ShowGift()
            
    
def CloseWbWindow(self):
        
self.wndWeb.Close()

    
def OpenCubeWindow(self):
        
self.wndCube.Open()

        if 
FALSE == self.wndInventory.IsShow():
            
self.wndInventory.Show()

    
def UpdateCubeInfo(selfgolditemVnumcount):
        
self.wndCube.UpdateInfo(golditemVnumcount)

    
def CloseCubeWindow(self):
        
self.wndCube.Close()

    
def FailedCubeWork(self):
        
self.wndCube.Refresh()

    
def SucceedCubeWork(selfitemVnumcount):
        
self.wndCube.Clear()
        
        print 
"Å¥ºê Á¦ÀÛ ¼º°ø! [%d:%d]" % (itemVnumcount)

        if 
0# °á°ú ¸Þ½ÃÁö Ãâ·ÂÀº »ý·« ÇÑ´Ù
            
self.wndCubeResult.SetPosition(*self.wndCube.GetGlobalPosition())
            
self.wndCubeResult.SetCubeResultItem(itemVnumcount)
            
self.wndCubeResult.Open()
            
self.wndCubeResult.SetTop()

    
def __HideWindows(self):
        
hideWindows self.wndTaskBar,\
                        
self.wndCharacter,\
                        
self.wndInventory,\
                        
self.wndMiniMap,\
                        
self.wndGuild,\
                        
self.wndMessenger,\
                        
self.wndChat,\
                        
self.wndParty,\
                        
self.wndGameButton,

        if 
self.wndEnergyBar:
            
hideWindows += self.wndEnergyBar,
             
        if 
self.wndExpandedTaskBar:
             
hideWindows += self.wndExpandedTaskBar,
             
        if 
app.ENABLE_DRAGON_SOUL_SYSTEM:
            
hideWindows += self.wndDragonSoul,\
                        
self.wndDragonSoulRefine,

        
hideWindows filter(lambda x:x.IsShow(), hideWindows)
        
map(lambda x:x.Hide(), hideWindows)
        
import sys

        self
.HideAllQuestButton()
        
self.HideAllWhisperButton()

        if 
self.wndChat.IsEditMode():
            
self.wndChat.CloseChat()

        return 
hideWindows

    def __ShowWindows
(selfwnds):
        
import sys
        map
(lambda x:x.Show(), wnds)
        global 
IsQBHide
        
if not IsQBHide:
            
self.ShowAllQuestButton()
        else:
            
self.HideAllQuestButton()

        
self.ShowAllWhisperButton()

    
def BINARY_OpenAtlasWindow(self):
        if 
self.wndMiniMap:
            
self.wndMiniMap.ShowAtlas()

    
def BINARY_SetObserverMode(selfflag):
        
self.wndGameButton.SetObserverMode(flag)

    
# ACCESSORY_REFINE_ADD_METIN_STONE
    
def BINARY_OpenSelectItemWindow(self):
        
self.wndItemSelect.Open()
    
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE

    #####################################################################################
    ### Private Shop ###

    
def OpenPrivateShopInputNameDialog(self):
        
#if player.IsInSafeArea():
        #    chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CANNOT_OPEN_PRIVATE_SHOP_IN_SAFE_AREA)
        #    return

        
inputDialog uiCommon.InputDialog()
        
inputDialog.SetTitle(localeInfo.PRIVATE_SHOP_INPUT_NAME_DIALOG_TITLE)
        
inputDialog.SetMaxLength(32)
        
inputDialog.SetAcceptEvent(ui.__mem_func__(self.OpenPrivateShopBuilder))
        
inputDialog.SetCancelEvent(ui.__mem_func__(self.ClosePrivateShopInputNameDialog))
        
inputDialog.Open()
        
self.inputDialog inputDialog

    def ClosePrivateShopInputNameDialog
(self):
        
self.inputDialog None
        
return TRUE

    def OpenPrivateShopBuilder
(self):

        if 
not self.inputDialog:
            return 
TRUE

        
if not len(self.inputDialog.GetText()):
            return 
TRUE

        self
.privateShopBuilder.Open(self.inputDialog.GetText())
        
self.ClosePrivateShopInputNameDialog()
        return 
TRUE

    def AppearPrivateShop
(selfvidtext):

        
board uiPrivateShopBuilder.PrivateShopAdvertisementBoard()
        
board.Open(vidtext)

        
self.privateShopAdvertisementBoardDict[vid] = board

    def DisappearPrivateShop
(selfvid):

        if 
not self.privateShopAdvertisementBoardDict.has_key(vid):
            return

        
del self.privateShopAdvertisementBoardDict[vid]
        
uiPrivateShopBuilder.DeleteADBoard(vid)

    
#####################################################################################
    ### Equipment ###

    
def OpenEquipmentDialog(selfvid):
        
dlg uiEquipmentDialog.EquipmentDialog()
        
dlg.SetItemToolTip(self.tooltipItem)
        
dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipmentDialog))
        
dlg.Open(vid)

        
self.equipmentDialogDict[vid] = dlg

    def SetEquipmentDialogItem
(selfvidslotIndexvnumcount):
        if 
not vid in self.equipmentDialogDict:
            return
        
self.equipmentDialogDict[vid].SetEquipmentDialogItem(slotIndexvnumcount)

    
def SetEquipmentDialogSocket(selfvidslotIndexsocketIndexvalue):
        if 
not vid in self.equipmentDialogDict:
            return
        
self.equipmentDialogDict[vid].SetEquipmentDialogSocket(slotIndexsocketIndexvalue)

    
def SetEquipmentDialogAttr(selfvidslotIndexattrIndextypevalue):
        if 
not vid in self.equipmentDialogDict:
            return
        
self.equipmentDialogDict[vid].SetEquipmentDialogAttr(slotIndexattrIndextypevalue)

    
def CloseEquipmentDialog(selfvid):
        if 
not vid in self.equipmentDialogDict:
            return
        
del self.equipmentDialogDict[vid]

    
#####################################################################################

    #####################################################################################
    ### Quest ###    
    
def BINARY_ClearQuest(selfindex):
        
btn self.__FindQuestButton(index)
        if 
!= btn:
            
self.__DestroyQuestButton(btn)        
    
    
def RecvQuest(selfindexname):
        
# QUEST_LETTER_IMAGE
        
self.BINARY_RecvQuest(indexname"file"localeInfo.GetLetterImageName())
        
# END_OF_QUEST_LETTER_IMAGE

    
def BINARY_RecvQuest(selfindexnameiconTypeiconName):

        
btn self.__FindQuestButton(index)
        if 
!= btn:
            
self.__DestroyQuestButton(btn)

        
btn uiWhisper.WhisperButton()

        
# QUEST_LETTER_IMAGE
        ##!! 20061026.levites.Äù½ºÆ®_À̹ÌÁö_±³Ã¼
        
import item
        
if "item"==iconType:
            
item.SelectItem(int(iconName))
            
buttonImageFileName=item.GetIconImageFileName()
        else:
            
buttonImageFileName=iconName

        
if localeInfo.IsEUROPE():
            if 
"highlight" == iconType:
                
btn.SetUpVisual("locale/ymir_ui/highlighted_quest.tga")
                
btn.SetOverVisual("locale/ymir_ui/highlighted_quest_r.tga")
                
btn.SetDownVisual("locale/ymir_ui/highlighted_quest_r.tga")
            else:
                
btn.SetUpVisual(localeInfo.GetLetterCloseImageName())
                
btn.SetOverVisual(localeInfo.GetLetterOpenImageName())
                
btn.SetDownVisual(localeInfo.GetLetterOpenImageName())                
        else:
            
btn.SetUpVisual(buttonImageFileName)
            
btn.SetOverVisual(buttonImageFileName)
            
btn.SetDownVisual(buttonImageFileName)
            
btn.Flash()
        
# END_OF_QUEST_LETTER_IMAGE

        
if localeInfo.IsARABIC():
            
btn.SetToolTipText(name035)
            
btn.ToolTipText.SetHorizontalAlignCenter()
        else:
            
btn.SetToolTipText(name, -2035)
            
btn.ToolTipText.SetHorizontalAlignLeft()
            
        
btn.SetEvent(ui.__mem_func__(self.__StartQuest), btn)
        
btn.Show()

        
btn.index index
        btn
.name name

        self
.questButtonList.insert(0btn)
        
self.__ArrangeQuestButton()

        
#chat.AppendChat(chat.CHAT_TYPE_NOTICE, localeInfo.QUEST_APPEND)

    
def __ArrangeQuestButton(self):

        
screenWidth wndMgr.GetScreenWidth()
        
screenHeight wndMgr.GetScreenHeight()

        
##!! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
        
if self.wndParty.IsShow():
            
xPos 100 30
        
else:
            
xPos 20

        
if localeInfo.IsARABIC():
            
xPos xPos 15

        yPos 
170 screenHeight 600
        yCount 
= (screenHeight 330) / 63

        count 
0
        
for btn in self.questButtonList:

            
btn.SetPosition(xPos + (int(count/yCount) * 100), yPos + (count%yCount 63))
            
count += 1
            
global IsQBHide
            
if IsQBHide:
                
btn.Hide()
            else:
                
btn.Show()

    
def __StartQuest(selfbtn):
        
event.QuestButtonClick(btn.index)
        
self.__DestroyQuestButton(btn)

    
def __FindQuestButton(selfindex):
        for 
btn in self.questButtonList:
            if 
btn.index == index:
                return 
btn

        
return 0

    def __DestroyQuestButton
(selfbtn):
        
btn.SetEvent(0)
        
self.questButtonList.remove(btn)
        
self.__ArrangeQuestButton()

    
def HideAllQuestButton(self):
        for 
btn in self.questButtonList:
            
btn.Hide()

    
def ShowAllQuestButton(self):
        for 
btn in self.questButtonList:
            
btn.Show()
    
#####################################################################################

    #####################################################################################
    ### Whisper ###

    
def __InitWhisper(self):
        
chat.InitWhisper(self)

    
## Ã¤ÆÃâÀÇ "¸Þ½ÃÁö º¸³»±â"¸¦ ´*·¶À»¶§ À̸§ ¾ø´Â ´ëÈ*âÀ» ¿©´Â ÇÔ¼ö
    ## À̸§ÀÌ ¾ø±â ¶§¹®¿¡ ±âÁ¸ÀÇ WhisperDialogDict ¿Í º°µµ·Î °ü¸®µÈ´Ù.
    
def OpenWhisperDialogWithoutTarget(self):
        if 
not self.dlgWhisperWithoutTarget:
            
dlgWhisper uiWhisper.WhisperDialog(self.MinimizeWhisperDialogself.CloseWhisperDialog)
            
dlgWhisper.BindInterface(self)
            
dlgWhisper.LoadDialog()
            
dlgWhisper.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
            
dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
            
dlgWhisper.Show()
            
self.dlgWhisperWithoutTarget dlgWhisper

            self
.windowOpenPosition = (self.windowOpenPosition+1) % 5

        
else:
            
self.dlgWhisperWithoutTarget.SetTop()
            
self.dlgWhisperWithoutTarget.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)

    
## À̸§ ¾ø´Â ´ëÈ*â¿¡¼* À̸§À» °áÁ¤ÇßÀ»¶§ WhisperDialogDict¿¡ Ã¢À» ³Ö¾îÁִ ÇÔ¼ö
    
def RegisterTemporaryWhisperDialog(selfname):
        if 
not self.dlgWhisperWithoutTarget:
            return

        
btn self.__FindWhisperButton(name)
        if 
!= btn:
            
self.__DestroyWhisperButton(btn)

        
elif self.whisperDialogDict.has_key(name):
            
oldDialog self.whisperDialogDict[name]
            
oldDialog.Destroy()
            
del self.whisperDialogDict[name]

        
self.whisperDialogDict[name] = self.dlgWhisperWithoutTarget
        self
.dlgWhisperWithoutTarget.OpenWithTarget(name)
        
self.dlgWhisperWithoutTarget None
        self
.__CheckGameMaster(name)

    
## Ä³¸¯ÅÍ ¸Þ´ºÀÇ 1:1 ´ëÈ* Çϱ⸦ ´*·¶À»¶§ À̸§À» °¡Áö°í ¹Ù·Î Ã¢À» ¿©´Â ÇÔ¼ö
    
def OpenWhisperDialog(selfname):
        if 
not self.whisperDialogDict.has_key(name):
            
dlg self.__MakeWhisperDialog(name)
            
dlg.OpenWithTarget(name)
            
dlg.chatLine.SetFocus()
            
dlg.Show()

            
self.__CheckGameMaster(name)
            
btn self.__FindWhisperButton(name)
            if 
!= btn:
                
self.__DestroyWhisperButton(btn)

    
## ´Ù¸¥ Ä³¸¯ÅͷκÎÅÍ ¸Þ¼¼Áö¸¦ ¹Þ¾ÒÀ»¶§ ÀÏ´Ü ¹öÆ°¸¸ ¶ç¿ö µÎ´Â ÇÔ¼ö
    
def RecvWhisper(selfname):
        if 
not self.whisperDialogDict.has_key(name):
            
btn self.__FindWhisperButton(name)
            if 
== btn:
                
btn self.__MakeWhisperButton(name)
                
btn.Flash()

                
chat.AppendChat(chat.CHAT_TYPE_NOTICElocaleInfo.RECEIVE_MESSAGE % (name))

            else:
                
btn.Flash()
        
elif self.IsGameMasterName(name):
            
dlg self.whisperDialogDict[name]
            
dlg.SetGameMasterLook()

    
def MakeWhisperButton(selfname):
        
self.__MakeWhisperButton(name)

    
## ¹öÆ°À» ´*·¶À»¶§ Ã¢À» ¿©´Â ÇÔ¼ö
    
def ShowWhisperDialog(selfbtn):
        try:
            
self.__MakeWhisperDialog(btn.name)
            
dlgWhisper self.whisperDialogDict[btn.name]
            
dlgWhisper.OpenWithTarget(btn.name)
            
dlgWhisper.Show()
            
self.__CheckGameMaster(btn.name)
        
except:
            
import dbg
            dbg
.TraceError("interface.ShowWhisperDialog - Failed to find key")

        
## ¹öÆ° ÃʱâÈ*
        
self.__DestroyWhisperButton(btn)

    
## WhisperDialog Ã¢¿¡¼* ÃÖ¼ÒÈ* ¸í·ÉÀ» ¼öÇàÇßÀ»¶§ È£ÃâµÇ´Â ÇÔ¼ö
    ## Ã¢À» ÃÖ¼ÒÈ* ÇÕ´Ï´Ù.
    
def MinimizeWhisperDialog(selfname):

        if 
!= name:
            
self.__MakeWhisperButton(name)

        
self.CloseWhisperDialog(name)

    
## WhisperDialog Ã¢¿¡¼* ´Ý±â ¸í·ÉÀ» ¼öÇàÇßÀ»¶§ È£ÃâµÇ´Â ÇÔ¼ö
    ## Ã¢À» Áö¿ó´Ï´Ù.
    
def CloseWhisperDialog(selfname):

        if 
== name:

            if 
self.dlgWhisperWithoutTarget:
                
self.dlgWhisperWithoutTarget.Destroy()
                
self.dlgWhisperWithoutTarget None

            
return

        try:
            
dlgWhisper self.whisperDialogDict[name]
            
dlgWhisper.Destroy()
            
del self.whisperDialogDict[name]
        
except:
            
import dbg
            dbg
.TraceError("interface.CloseWhisperDialog - Failed to find key")

    
## ¹öÆ°ÀÇ °³¼ö°¡ ¹Ù²î¾úÀ»¶§ ¹öÆ°À» ÀçÁ¤·Ä Çϴ ÇÔ¼ö
    
def __ArrangeWhisperButton(self):

        
screenWidth wndMgr.GetScreenWidth()
        
screenHeight wndMgr.GetScreenHeight()

        
xPos screenWidth 70
        yPos 
170 screenHeight 600
        yCount 
= (screenHeight 330) / 63
        
#yCount = (screenHeight - 285) / 63

        
count 0
        
for button in self.whisperButtonList:

            
button.SetPosition(xPos + (int(count/yCount) * -50), yPos + (count%yCount 63))
            
count += 1

    
## À̸§À¸·Î Whisper ¹öÆ°À» Ã£¾Æ ¸®ÅÏÇØ Áִ ÇÔ¼ö
    ## ¹öÆ°Àº µñ¼Å³Ê¸®·Î ÇÏÁö ¾Ê´Â °ÍÀº Á¤·Ä µÇ¾î ¹ö·Á ¼ø¼*°¡ À¯Áö µÇÁö ¾ÊÀ¸¸ç
    ## À̷ΠÀÎÇØ ToolTipµéÀÌ ´Ù¸¥ ¹öÆ°µé¿¡ ÀÇÇØ °¡·ÁÁö±â ¶§¹®ÀÌ´Ù.
    
def __FindWhisperButton(selfname):
        for 
button in self.whisperButtonList:
            if 
button.name == name:
                return 
button

        
return 0

    
## Ã¢À» ¸¸µì´Ï´Ù.
    
def __MakeWhisperDialog(selfname):
        
dlgWhisper uiWhisper.WhisperDialog(self.MinimizeWhisperDialogself.CloseWhisperDialog)
        
dlgWhisper.BindInterface(self)
        
dlgWhisper.LoadDialog()
        
dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
        
self.whisperDialogDict[name] = dlgWhisper

        self
.windowOpenPosition = (self.windowOpenPosition+1) % 5

        
return dlgWhisper

    
## ¹öÆ°À» ¸¸µì´Ï´Ù.
    
def __MakeWhisperButton(selfname):
        
whisperButton uiWhisper.WhisperButton()
        
whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
        
whisperButton.SetOverVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
        
whisperButton.SetDownVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
        if 
self.IsGameMasterName(name):
            
whisperButton.SetToolTipTextWithColor(name0xffffa200)
        else:
            
whisperButton.SetToolTipText(name)
        
whisperButton.ToolTipText.SetHorizontalAlignCenter()
        
whisperButton.SetEvent(ui.__mem_func__(self.ShowWhisperDialog), whisperButton)
        
whisperButton.Show()
        
whisperButton.name name

        self
.whisperButtonList.insert(0whisperButton)
        
self.__ArrangeWhisperButton()

        return 
whisperButton

    def __DestroyWhisperButton
(selfbutton):
        
button.SetEvent(0)
        
self.whisperButtonList.remove(button)
        
self.__ArrangeWhisperButton()

    
def HideAllWhisperButton(self):
        for 
btn in self.whisperButtonList:
            
btn.Hide()

    
def ShowAllWhisperButton(self):
        for 
btn in self.whisperButtonList:
            
btn.Show()

    
def __CheckGameMaster(selfname):
        if 
not self.listGMName.has_key(name):
            return
        if 
self.whisperDialogDict.has_key(name):
            
dlg self.whisperDialogDict[name]
            
dlg.SetGameMasterLook()

    
def RegisterGameMasterName(selfname):
        if 
self.listGMName.has_key(name):
            return
        
self.listGMName[name] = "GM"

    
def IsGameMasterName(selfname):
        if 
self.listGMName.has_key(name):
            return 
TRUE
        
else:
            return 
FALSE

    
#####################################################################################

    #####################################################################################
    ### Guild Building ###

    
def BUILD_OpenWindow(self):
        
self.wndGuildBuilding uiGuild.BuildGuildBuildingWindow()
        
self.wndGuildBuilding.Open()
        
self.wndGuildBuilding.wnds self.__HideWindows()
        
self.wndGuildBuilding.SetCloseEvent(ui.__mem_func__(self.BUILD_CloseWindow))

    
def BUILD_CloseWindow(self):
        
self.__ShowWindows(self.wndGuildBuilding.wnds)
        
self.wndGuildBuilding None

    def BUILD_OnUpdate
(self):
        if 
not self.wndGuildBuilding:
            return

        if 
self.wndGuildBuilding.IsPositioningMode():
            
import background
            x
ybackground.GetPickingPoint()
            
self.wndGuildBuilding.SetBuildingPosition(xyz)

    
def BUILD_OnMouseLeftButtonDown(self):
        if 
not self.wndGuildBuilding:
            return

        
# GUILD_BUILDING
        
if self.wndGuildBuilding.IsPositioningMode():
            
self.wndGuildBuilding.SettleCurrentPosition()
            return 
TRUE
        elif self
.wndGuildBuilding.IsPreviewMode():
            
pass
        
else:
            return 
TRUE
        
# END_OF_GUILD_BUILDING
        
return FALSE

    def BUILD_OnMouseLeftButtonUp
(self):
        if 
not self.wndGuildBuilding:
            return

        if 
not self.wndGuildBuilding.IsPreviewMode():
            return 
TRUE

        
return FALSE

    def BULID_EnterGuildArea
(selfareaID):
        
# GUILD_BUILDING
        
mainCharacterName player.GetMainCharacterName()
        
masterName guild.GetGuildMasterName()

        if 
mainCharacterName != masterName:
            return

        if 
areaID != player.GetGuildID():
            return
        
# END_OF_GUILD_BUILDING

        
self.wndGameButton.ShowBuildButton()

    
def BULID_ExitGuildArea(selfareaID):
        
self.wndGameButton.HideBuildButton()

    
#####################################################################################

    
def IsEditLineFocus(self):
        if 
self.ChatWindow.chatLine.IsFocus():
            return 
1

        
if self.ChatWindow.chatToLine.IsFocus():
            return 
1

        
return 0

    def EmptyFunction
(self):
        
pass

if __name__ == "__main__":

    
import app
    import wndMgr
    import systemSetting
    import mouseModule
    import grp
    import ui
    import localeInfo

    app
.SetMouseHandler(mouseModule.mouseController)
    
app.SetHairColorEnable(TRUE)
    
wndMgr.SetMouseHandler(mouseModule.mouseController)
    
wndMgr.SetScreenSize(systemSetting.GetWidth(), systemSetting.GetHeight())
    
app.Create(localeInfo.APP_TITLEsystemSetting.GetWidth(), systemSetting.GetHeight(), 1)
    
mouseModule.mouseController.Create()

    class 
TestGame(ui.Window):
        
def __init__(self):
            
ui.Window.__init__(self)

            
localeInfo.LoadLocaleData()
            
player.SetItemData(02700110)
            
player.SetItemData(12700410)

            
self.interface = Interface()
            
self.interface.MakeInterface()
            
self.interface.ShowDefaultWindows()
            
self.interface.RefreshInventory()
            
#self.interface.OpenCubeWindow()

        
def __del__(self):
            
ui.Window.__del__(self)

        
def OnUpdate(self):
            
app.UpdateGame()

        
def OnRender(self):
            
app.RenderGame()
            
grp.PopState()
            
grp.SetInterfaceRenderState()

    
game TestGame()
    
game.SetSize(systemSetting.GetWidth(), systemSetting.GetHeight())
    
game.Show()

    
app.Loop() 


Hat wer eine Lösung?
Code:
	def ToggleGuildWindow(self):
		if not self.wndGuild.IsShow():
			if self.wndGuild.CanOpen():
				self.wndGuild.Open()
			else:
				chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GUILD_YOU_DO_NOT_JOIN)
		else:
			self.wndGuild.OverOutItem()
			self.wndGuild.Hide()
Irgendwo in die selbe class (!)
DasSchwarzeT is offline  
Thanks
2 Users
Old 12/15/2014, 20:59   #3
 
elite*gold: 35
Join Date: Apr 2011
Posts: 1,018
Received Thanks: 1,984
Elfe'DasSchwarzeT hats über tv gemacht. Funkt nun vielen dank netter Mensch

closed
DeadBreakZz is offline  
Closed Thread

Tags
attribute, fragen, interface, metin2


Similar Threads Similar Threads
... object has no attribute 'split'
09/25/2013 - Metin2 Private Server - 5 Replies
Folgender Error, wenn ich den Clienten starte: http://puu.sh/4ysX5.png Hoffe ihr könnt helfen :S
[Python]'tuple' object has no attribute 'GetText' Error
08/20/2013 - Metin2 Private Server - 0 Replies
Hi ich habe gestern versucht eine Gui zu erstellen. in der GUI ist eine EditLine die ich mit GetText() auslesen will allerdings geht das nicht (Syserr fehler: 'tuple' object has no attribute 'GetText') was machst? ____ fabian
Problem mit EnergySystem "'NoneType' object has no attribute 'Hide'"
10/19/2012 - Metin2 Private Server - 0 Replies
1019 01:46:39092 :: Traceback (most recent call last): 1019 01:46:39093 :: File "uiTaskBar.py", line 136, in OnUpdate 1019 01:46:39093 :: File "uiTaskBar.py", line 100, in RefreshStatus 1019 01:46:39093 :: File "uiTaskBar.py", line 111, in SetEnergy 1019 01:46:39093 :: AttributeError 1019 01:46:39093 :: :
[Questions]Resize the window from the display attribute of the object?
07/06/2012 - Metin2 Private Server - 0 Replies
Hey, how do I enlarge the window to display the attributes of objects? To better explain this I add a photo showing the problem. The red box is just like I wanted to make it look. Feature not expect, I just need to know which file I must edit. http://iv.pl/images/05566296283392197456.jpg And the second question. As objects placed in the yellow box on the second picture down to the level of their names? What file is it located? http://iv.pl/images/23367241789963398497.jpg refresh
[Questions]Resize the window from the display attribute of the object?
07/06/2012 - Metin2 Private Server - 0 Replies
Hey, how do I enlarge the window to display the attributes of objects? To better explain this I add a photo showing the problem. The red box is just like I wanted to make it look. Feature not expect, I just need to know which file I must edit. http://iv.pl/images/05566296283392197456.jpg And the second question. As objects placed in the yellow box on the second picture down to the level of their names? What file is it located?http://iv.pl/images/23367241789963398497.j pg



All times are GMT +2. The time now is 17:57.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.