Advertisement
Guest User

Untitled

a guest
May 4th, 2021
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. class CostumeWindow(ui.ScriptWindow):
  2.  
  3. def __init__(self, wndInventory):
  4. import exception
  5.  
  6. if not app.ENABLE_COSTUME_SYSTEM:
  7. exception.Abort("What do you do?")
  8. return
  9.  
  10. if not wndInventory:
  11. exception.Abort("wndInventory parameter must be set to InventoryWindow")
  12. return
  13.  
  14. ui.ScriptWindow.__init__(self)
  15.  
  16. self.isLoaded = 0
  17. self.wndInventory = wndInventory;
  18.  
  19. self.wndCostumeWindowLayer = None
  20. self.expandBtn = None
  21. self.minBtn = None
  22.  
  23. self.__LoadWindow()
  24.  
  25. def __del__(self):
  26. ui.ScriptWindow.__del__(self)
  27.  
  28. def Show(self, openCostumeWindow = False):
  29. self.__LoadWindow()
  30. self.AdjustPositionAndSize()
  31. self.RefreshCostumeSlot()
  32.  
  33. ui.ScriptWindow.Show(self)
  34.  
  35. if openCostumeWindow:
  36. self.OpenCostume()
  37. else:
  38. self.CloseCostume()
  39.  
  40. def Close(self):
  41. self.Hide()
  42.  
  43. def IsOpeningInventory(self):
  44. return self.wndCostumeWindowLayer.IsShow()
  45.  
  46. def GetBasePosition(self):
  47. x, y = self.wndInventory.GetGlobalPosition()
  48. return x - 147, y
  49.  
  50. def AdjustPositionAndSize(self):
  51. bx, by = self.GetBasePosition()
  52.  
  53. if self.IsOpeningInventory():
  54. self.SetPosition(bx, by)
  55. self.SetSize(self.ORIGINAL_WIDTH, self.GetHeight())
  56. else:
  57. self.SetPosition(bx + 137, by);
  58. self.SetSize(15, self.GetHeight())
  59.  
  60. def OpenCostume(self):
  61. self.wndCostumeWindowLayer.Show()
  62. self.expandBtn.Hide()
  63.  
  64. if localeInfo.IsARABIC() == 0:
  65. self.AdjustPositionAndSize()
  66.  
  67. def CloseCostume(self):
  68. self.wndCostumeWindowLayer.Hide()
  69. self.expandBtn.Show()
  70.  
  71. if localeInfo.IsARABIC() == 0:
  72. self.AdjustPositionAndSize()
  73.  
  74. def __LoadWindow(self):
  75. if self.isLoaded == 1:
  76. return
  77.  
  78. self.isLoaded = 1
  79.  
  80. try:
  81. pyScrLoader = ui.PythonScriptLoader()
  82. pyScrLoader.LoadScriptFile(self, "UIScript/CostumeWindow.py")
  83. except:
  84. import exception
  85. exception.Abort("CostumeWindow.LoadWindow.LoadObject")
  86.  
  87. try:
  88. self.ORIGINAL_WIDTH = self.GetWidth()
  89. wndEquip = self.GetChild("CostumeSlot")
  90. self.wndCostumeWindowLayer = self.GetChild("CostumeWindowLayer")
  91. self.expandBtn = self.GetChild("ExpandBtn")
  92. self.minBtn = self.GetChild("MinimizeBtn")
  93.  
  94. except:
  95. import exception
  96. exception.Abort("CostumeWindow.LoadWindow.BindObject")
  97.  
  98. ## Equipment
  99. wndEquip.SetOverInItemEvent(ui.__mem_func__(self.wndInventory.OverInItem))
  100. wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.wndInventory.OverOutItem))
  101. wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
  102. wndEquip.SetUseSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
  103. wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.wndInventory.SelectEmptySlot))
  104. wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.wndInventory.SelectItemSlot))
  105.  
  106. self.expandBtn.SetEvent(ui.__mem_func__(self.OpenCostume))
  107. self.minBtn.SetEvent(ui.__mem_func__(self.CloseCostume))
  108.  
  109. self.wndEquip = wndEquip
  110.  
  111. def RefreshCostumeSlot(self):
  112. getItemVNum=player.GetItemIndex
  113.  
  114. for i in xrange(item.COSTUME_SLOT_COUNT):
  115. slotNumber = item.COSTUME_SLOT_START + i
  116. self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
  117.  
  118. self.wndEquip.RefreshSlot()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement