Initial commit: UI-Quellcode (root + uiscript)
Enthaelt die editierbaren Python-UI-Skripte (root/, uiscript/) des EterNexus-Clients, u.a. die Aenderungen fuer aktivierbare Items (constinfo.py: IS_ACTIVATABLE_ITEM/IS_MOUNT_SEAL, uiinventory.py: RefreshBagSlotWindow). Kompilierte Pack-Dateien (.epk/.eix) sowie Binaries/DLLs/Locale-Assets sind bewusst nicht Teil dieses Repos.
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
import ui
|
||||
import chr
|
||||
import player
|
||||
|
||||
class EquipmentDialog(ui.ScriptWindow):
|
||||
|
||||
def __init__(self):
|
||||
print "NEW EQUIPMENT DIALOG ----------------------------------------------------------------------------"
|
||||
ui.ScriptWindow.__init__(self)
|
||||
self.__LoadDialog()
|
||||
|
||||
self.vid = None
|
||||
self.eventClose = None
|
||||
self.itemDataDict = {}
|
||||
self.tooltipItem = None
|
||||
|
||||
def __del__(self):
|
||||
print "---------------------------------------------------------------------------- DELETE EQUIPMENT DIALOG "
|
||||
ui.ScriptWindow.__del__(self)
|
||||
|
||||
def __LoadDialog(self):
|
||||
try:
|
||||
PythonScriptLoader = ui.PythonScriptLoader()
|
||||
PythonScriptLoader.LoadScriptFile(self, "UIScript/EquipmentDialog.py")
|
||||
|
||||
getObject = self.GetChild
|
||||
self.board = getObject("Board")
|
||||
self.slotWindow = getObject("EquipmentSlot")
|
||||
|
||||
except:
|
||||
import exception
|
||||
exception.Abort("EquipmentDialog.LoadDialog.BindObject")
|
||||
|
||||
self.board.SetCloseEvent(ui.__mem_func__(self.Close))
|
||||
self.slotWindow.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
|
||||
self.slotWindow.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
|
||||
|
||||
def Open(self, vid):
|
||||
|
||||
self.vid = vid
|
||||
self.itemDataDict = {}
|
||||
|
||||
name = chr.GetNameByVID(vid)
|
||||
self.board.SetTitleName(name)
|
||||
|
||||
self.SetCenterPosition()
|
||||
self.SetTop()
|
||||
self.Show()
|
||||
|
||||
def Close(self):
|
||||
self.itemDataDict = {}
|
||||
self.tooltipItem = None
|
||||
self.Hide()
|
||||
|
||||
if self.eventClose:
|
||||
self.eventClose(self.vid)
|
||||
|
||||
def Destroy(self):
|
||||
self.eventClose = None
|
||||
|
||||
self.Close()
|
||||
self.ClearDictionary()
|
||||
|
||||
self.board = None
|
||||
self.slotWindow = None
|
||||
|
||||
def SetEquipmentDialogItem(self, slotIndex, vnum, count):
|
||||
if count <= 1:
|
||||
count = 0
|
||||
self.slotWindow.SetItemSlot(slotIndex, vnum, count)
|
||||
|
||||
emptySocketList = []
|
||||
emptyAttrList = []
|
||||
for i in xrange(player.METIN_SOCKET_MAX_NUM):
|
||||
emptySocketList.append(0)
|
||||
for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
|
||||
emptyAttrList.append((0, 0))
|
||||
self.itemDataDict[slotIndex] = (vnum, count, emptySocketList, emptyAttrList)
|
||||
|
||||
def SetEquipmentDialogSocket(self, slotIndex, socketIndex, value):
|
||||
if not slotIndex in self.itemDataDict:
|
||||
return
|
||||
if socketIndex < 0 or socketIndex > player.METIN_SOCKET_MAX_NUM:
|
||||
return
|
||||
self.itemDataDict[slotIndex][2][socketIndex] = value
|
||||
|
||||
def SetEquipmentDialogAttr(self, slotIndex, attrIndex, type, value):
|
||||
if not slotIndex in self.itemDataDict:
|
||||
return
|
||||
if attrIndex < 0 or attrIndex > player.ATTRIBUTE_SLOT_MAX_NUM:
|
||||
return
|
||||
self.itemDataDict[slotIndex][3][attrIndex] = (type, value)
|
||||
|
||||
def SetItemToolTip(self, tooltipItem):
|
||||
self.tooltipItem = tooltipItem
|
||||
|
||||
def SetCloseEvent(self, event):
|
||||
self.eventClose = event
|
||||
|
||||
def OverInItem(self, slotIndex):
|
||||
|
||||
if None == self.tooltipItem:
|
||||
return
|
||||
|
||||
if not slotIndex in self.itemDataDict:
|
||||
return
|
||||
|
||||
itemVnum = self.itemDataDict[slotIndex][0]
|
||||
if 0 == itemVnum:
|
||||
return
|
||||
|
||||
self.tooltipItem.ClearToolTip()
|
||||
metinSlot = self.itemDataDict[slotIndex][2]
|
||||
attrSlot = self.itemDataDict[slotIndex][3]
|
||||
self.tooltipItem.AddItemData(itemVnum, metinSlot, attrSlot)
|
||||
self.tooltipItem.ShowToolTip()
|
||||
|
||||
def OverOutItem(self):
|
||||
if None != self.tooltipItem:
|
||||
self.tooltipItem.HideToolTip()
|
||||
|
||||
def OnPressEscapeKey(self):
|
||||
self.Close()
|
||||
return True
|
||||
Reference in New Issue
Block a user