deadx2

Untitled

Aug 21st, 2017
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 40.30 KB | None | 0 0
  1. import os
  2. import app
  3. import dbg
  4. import item
  5. import chat
  6. import net
  7. import localemg
  8. import ime
  9. import time
  10. import uimg
  11. import uiCommon
  12. import uiToolTip
  13. import colorInfo
  14. import player
  15. import snd
  16. import grp
  17. import mouseModule
  18. import shop
  19. import wndMgr
  20. import uiPrivateShopBuilder
  21. import constInfo
  22. import uiScriptLocaleMG
  23. from uiUtils import Edit2 as Edit2
  24. c = colorInfo.CHAT_RGB_NOTICE
  25. titleColor = uimg.GenerateColor(c[0],c[1],c[2])
  26. NEGATIVE_COLOR = grp.GenerateColor(0.9, 0.4745, 0.4627, 1.0)
  27. POSITIVE_COLOR = grp.GenerateColor(0.6911, 0.8754, 0.7068, 1.0)
  28. ##Should be disabled becouse this is only for my client UI ##
  29. POSITION_FIX=True
  30. #############################################################
  31. import uiUtils
  32.  
  33.  
  34.  
  35. pos_x = [15, 100, 185, 15, 100, 185]
  36. pos_y = [70+39, 70+39, 70+39, 155+39, 155+39, 155+39]
  37. czas_text = ["1 Godzina", "3 Godziny", "8 Godzin", "12 Godzin", "1 Dzien", "2 Dni"]
  38.  
  39.  
  40.  
  41.  
  42. class ShopDialogCreate(uimg.ScriptWindow):
  43.     UI={}
  44.     def __init__(self):
  45.         uimg.ScriptWindow.__init__(self)
  46.         self.tooltipItem = uiToolTip.ItemToolTip()
  47.         self.tooltipItem.Hide()
  48.         self.privateShopBuilder = uiPrivateShopBuilder.PrivateShopBuilder()
  49.         self.privateShopBuilder.Hide()
  50.         self.privateShopBuilder.SetItemToolTip(self.tooltipItem)
  51.         self.pop=None
  52.         self.czas_id = 0
  53.         self.__LoadQuestionDialog()
  54.  
  55.     def __del__(self):
  56.         uimg.ScriptWindow.__del__(self)
  57.    
  58.     def __LoadQuestionDialog(self):
  59.         self.UI["board"] = uimg.BoardWithTitleBar()
  60.         self.UI["board"].SetCenterPosition()
  61.         self.UI["board"].AddFlag("movable")
  62.         if POSITION_FIX:
  63.             self.UI["board"].SetSize(400-125, 400)
  64.         else:
  65.             self.UI["board"].SetSize(400-125, 400)
  66.         self.UI["board"].SetCenterPosition()
  67.         self.UI["board"].SetTop()
  68.         self.UI["board"].SetTitleName("|cffe6d0a2"+uiScriptLocaleMG.SHOP_WINDOW_CREATE)
  69.         self.UI["board"].Hide()
  70.        
  71.         self.UI["nameTextImage"] = uimg.ImageBox()
  72.         self.UI["nameTextImage"].SetParent(self.UI["board"])
  73.         self.UI["nameTextImage"].SetPosition(0, 30)
  74.         self.UI["nameTextImage"].SetWindowHorizontalAlignCenter()
  75.         self.UI["nameTextImage"].LoadImage("illumina/header.tga")
  76.         self.UI["nameTextImage"].Show()
  77.         self.UI["nameText"] = uimg.MakeText(self.UI["board"], "|cffe6d0a2"+uiScriptLocaleMG.SHOP_NAME, 0, 37+3, None)
  78.         self.UI["nameText"].SetWindowHorizontalAlignCenter()
  79.         self.UI["nameText"].SetHorizontalAlignCenter()
  80.        
  81.         self.UI["timeTextImage"] = uimg.ImageBox()
  82.         self.UI["timeTextImage"].SetParent(self.UI["board"])
  83.         self.UI["timeTextImage"].SetPosition(0, 30+45)
  84.         self.UI["timeTextImage"].SetWindowHorizontalAlignCenter()
  85.         self.UI["timeTextImage"].LoadImage("illumina/header.tga")
  86.         self.UI["timeTextImage"].Show()
  87.         self.UI["timeText"] = uimg.MakeText(self.UI["board"], "|cffe6d0a2"+uiScriptLocaleMG.SHOP_TIMEOUT, 0, 37+3+45, None)
  88.         self.UI["timeText"].SetWindowHorizontalAlignCenter()
  89.         self.UI["timeText"].SetHorizontalAlignCenter()
  90.        
  91.         self.UI["cashTextImage"] = uimg.ImageBox()
  92.         self.UI["cashTextImage"].SetParent(self.UI["board"])
  93.         self.UI["cashTextImage"].SetPosition(0, 30+45+197)
  94.         self.UI["cashTextImage"].SetWindowHorizontalAlignCenter()
  95.         self.UI["cashTextImage"].LoadImage("illumina/header.tga")
  96.         self.UI["cashTextImage"].Show()
  97.         self.UI["cashText"] = uimg.MakeText(self.UI["board"], "|cffe6d0a2"+uiScriptLocaleMG.SHOP_CASH, 0, 37+3+45+197, None)
  98.         self.UI["cashText"].SetWindowHorizontalAlignCenter()
  99.         self.UI["cashText"].SetHorizontalAlignCenter()
  100.        
  101.         self.UI["nameEditImage"] = uimg.ImageBox()
  102.         self.UI["nameEditImage"].SetParent(self.UI["board"])
  103.         self.UI["nameEditImage"].SetPosition(0, 45+30-15)
  104.         self.UI["nameEditImage"].SetWindowHorizontalAlignCenter()
  105.         self.UI["nameEditImage"].LoadImage("illumina/sklepy_off/tlo_01.tga")
  106.         self.UI["nameEditImage"].Show()
  107.         self.UI["cashEditImage"] = uimg.ImageBox()
  108.         self.UI["cashEditImage"].SetParent(self.UI["board"])
  109.         self.UI["cashEditImage"].SetPosition(0, 45+30-15+242)
  110.         self.UI["cashEditImage"].SetWindowHorizontalAlignCenter()
  111.         self.UI["cashEditImage"].LoadImage("illumina/sklepy_off/tlo_01.tga")
  112.         self.UI["cashEditImage"].Show()
  113.         self.UI["nameEdit"]=uimg.EditLine()
  114.         self.UI["nameEdit"].SetParent(self.UI["nameEditImage"])
  115.         self.UI["nameEdit"].SetSize(243, 23)
  116.         self.UI["nameEdit"].SetPosition(5, 5)
  117.         self.UI["nameEdit"].SetMax(44)
  118.         self.UI["nameEdit"].SetFocus()
  119.         self.UI["nameEdit"].SetFontColorNew(160, 121, 112)
  120.         self.UI["nameEdit"].Show()
  121.        
  122.  
  123.         '''
  124.         self.Bvalue9 = uimg.EditLine()
  125.         self.Bvalue9.SetParent(self.BonusValue9SlotBar)
  126.         self.Bvalue9.SetSize(29, 18)
  127.         self.Bvalue9.SetPosition(6, 0)
  128.         self.Bvalue9.SetMax(4)
  129.         self.Bvalue9.SetNumberMode()
  130.         self.Bvalue9.SetFocus()
  131.         self.Bvalue9.SetText("0")
  132.         self.Bvalue9.SetTabEvent(uimg.__mem_func__(self.Bvalue10.SetFocus))
  133.         self.Bvalue9.SetReturnEvent(uimg.__mem_func__(self.Bvalue10.SetFocus))
  134.         self.Bvalue9.Show()
  135.         '''
  136.         '''
  137.         self.UI["selectText"] = uimg.TextLine()
  138.         self.UI["selectText"].SetParent(self.UI["board"])
  139.         self.UI["selectText"].SetPosition(15, 70)
  140.         self.UI["selectText"].SetFeather()
  141.         self.UI["selectText"].SetDefaultFontName()
  142.         self.UI["selectText"].SetOutline()
  143.         self.UI["selectText"].SetText(uiScriptLocaleMG.SHOP_TIMEOUT)
  144.         self.UI["selectText"].Show()
  145.         '''
  146.         self.UI["create"] = uimg.MakeButton(self.UI["board"], 0, 110+170+47 , "", "illumina/inne/", "btn_esc_01.tga", "btn_esc_02.tga", "btn_esc_03.tga")
  147.         self.UI["create"].SetWindowHorizontalAlignCenter()
  148.         self.UI["create"].SetText("|cffe6d0a2"+uiScriptLocaleMG.SHOP_CREATE)
  149.         self.UI["create"].SetEvent(uimg.__mem_func__(self.CreateShop))
  150.         self.UI["create"].Show()
  151.        
  152.         self.UI["cancel"] = uimg.MakeButton(self.UI["board"], 0, 140+170+47 , "", "illumina/inne/", "btn_esc_01.tga", "btn_esc_02.tga", "btn_esc_03.tga")
  153.         self.UI["cancel"].SetWindowHorizontalAlignCenter()
  154.         self.UI["cancel"].SetText("|cffe6d0a2"+uiScriptLocaleMG.CANCEL)
  155.         self.UI["cancel"].SetEvent(uimg.__mem_func__(self.Close))
  156.         self.UI["cancel"].Show()
  157.        
  158.  
  159.    
  160.         self.UI["price"] = uimg.MakeText(self.UI["cashEditImage"], "", 74, 4, None)
  161.         self.UI["price"].SetFeather()
  162.         self.UI["price"].SetDefaultFontName()
  163.         self.UI["price"].SetOutline()
  164.         self.UI["price"].Show()
  165.     #   self.CreateList()
  166.        
  167.         for i in xrange(0,6):
  168.             self.UI["CzasButton"+str(i)] = uimg.Button()
  169.             self.UI["CzasButton"+str(i)].SetParent(self.UI["board"])
  170.             self.UI["CzasButton"+str(i)].SetPosition(pos_x[i], pos_y[i])
  171.             self.UI["CzasButton"+str(i)].SetUpVisual("illumina/sklepy_off/czas"+str(i+1)+"_01.tga")
  172.             self.UI["CzasButton"+str(i)].SetOverVisual("illumina/sklepy_off/czas"+str(i+1)+"_02.tga")
  173.             self.UI["CzasButton"+str(i)].SetDownVisual("illumina/sklepy_off/czas"+str(i+1)+"_03.tga")
  174.         #   self.UI["CzasButton"+str(i)].SetText("|cffe6d0a2" + czas_text[i])
  175.             self.UI["CzasButton"+str(i)].SetEvent(uimg.__mem_func__(self.UstawCzas), i+1)
  176.             self.UI["CzasButton"+str(i)].Show()
  177.  
  178.    
  179.     def Destroy(self):
  180.         self.UI={}
  181.         self.__OnClosePopupDialog()
  182.         self.UI["board"].Hide()
  183.         return TRUE
  184.         #self.ClearDictionary()
  185.     '''
  186.     def CreateList(self):
  187.         if "select" in self.UI.keys():
  188.             self.UI["select"].Hide()
  189.             self.UI["select"].Destroy()
  190.         self.UI["select"] = None
  191.         self.UI["select"] = DropDown(self.UI["board"],"---")
  192.         self.UI["select"].SetPosition(110,70)
  193.         self.UI["select"].SetSize(120,20)
  194.         self.UI["select"].SetTop()
  195.         self.UI["select"].OnChange=self.Load
  196.         self.UI["select"].Show()
  197.     '''
  198.     def OnPressEscapeKey(self):
  199.         self.Close()
  200.         return TRUE
  201.     def UstawCzas(self, nr):
  202.    
  203.         for i in xrange(0,6):
  204.             if i == nr-1:
  205.                 self.UI["CzasButton"+str(i)].Down()
  206.                 self.UI["CzasButton"+str(i)].Disable()
  207.             else:
  208.                 self.UI["CzasButton"+str(i)].SetUp()
  209.                 self.UI["CzasButton"+str(i)].Enable()
  210.                    
  211.         self.czas_id = nr
  212.         item = constInfo.shop_cost[nr-1]
  213.         if item["price"]>0:
  214.             self.UI["price"].SetText("|cffa08784"+uiScriptLocaleMG.SHOP_CREATE_PRICE+"|cffa07970"+localemg.NumberToMoneyString(item["price"]))
  215.             self.UI["price"].Show()
  216.         else:
  217.             self.UI["price"].Show()
  218.     def Close(self):
  219.         self.__OnClosePopupDialog()
  220.         self.UnLoad()
  221.         self.UI["board"].Hide()
  222.         self.Hide()
  223.     def CreateShop(self):
  224.         if len(self.UI["nameEdit"].GetText()) <=0:
  225.             self.PopupMessage(uiScriptLocaleMG.SHOP_NAME_EMPTY)
  226.             return
  227.         if self.czas_id != 0:
  228.             id = self.czas_id
  229.     #   id=int(self.UI["select"].DropList.GetSelectedItem().value)
  230.         if int(id) <=0:
  231.             self.PopupMessage(uiScriptLocaleMG.SHOP_TIMEOUT_EMPTY)
  232.             return
  233.         item = constInfo.shop_cost[id-1]
  234.        
  235.         if int(item["id"]) <=0:
  236.             self.PopupMessage(uiScriptLocaleMG.SHOP_TIMEOUT_EMPTY)
  237.             return
  238.         self.__OnClosePopupDialog()
  239.         self.privateShopBuilder.Open(self.UI["nameEdit"].GetText(),int(item["id"]))
  240.         self.Close()   
  241.     def __OnClosePopupDialog(self):
  242.         if self.pop != None:
  243.             if self.pop.IsShow():
  244.                 self.pop.Hide()
  245.         self.pop = None
  246.     def Hide(self):
  247.         if "board" in self.UI.keys():
  248.             self.UI["board"].Hide()
  249.             self.UI["price"].Hide()
  250.     #       self.UI["select"].dropped = 0
  251.     #       self.UI["select"].ClearItems()
  252.             self.UI["nameEdit"].SetText("")
  253.             self.UI["nameEdit"].SetFontColorNew(160, 121, 112)
  254.             self.Days=0
  255.         uimg.ScriptWindow.Hide(self)
  256.        
  257.     def Show(self):
  258.         self.UI["board"].SetTop()
  259.         self.UI["board"].Show()
  260.         self.UnLoad()
  261.     #   self.CreateList()
  262.         for i in xrange(len(constInfo.shop_cost))
  263.             item=constInfo.shop_cost[i]
  264.             name=uiScriptLocaleMG.SHOP_CREATE_NORMAL
  265.             if item["time"]>0:
  266.                 name=str(item["time"])+" "
  267.                 if item["time"] == 1:
  268.                     if item["time_val"]==3600:
  269.                         name+=uiScriptLocaleMG.SHOP_CREATE_HOUR
  270.                     else:
  271.                         name+=uiScriptLocaleMG.SHOP_CREATE_DAY
  272.                 else:
  273.                     if item["time_val"]==86400:
  274.                         name+=uiScriptLocaleMG.SHOP_CREATE_DAYS
  275.                     else:
  276.                         name+=uiScriptLocaleMG.SHOP_CREATE_HOURS
  277.            
  278.         #   self.UI["select"].AppendItem(name,i+1)
  279.        
  280.         uimg.ScriptWindow.Show(self)
  281.         self.UI["board"].Show()
  282.     def Load(self):
  283.         id=self.UI["select"].DropList.GetSelectedItem().value
  284.         if int(id) == 0:
  285.             print "unload"
  286.             self.UnLoad()
  287.             return
  288.         item = constInfo.shop_cost[id-1]
  289.         if item["price"]>0:
  290.             self.UI["price"].SetText("|cffa08784"+uiScriptLocaleMG.SHOP_CREATE_PRICE+"|cffa07970"+localemg.NumberToMoneyString(item["price"]))
  291.             self.UI["price"].Show()
  292.         else:
  293.             self.UI["price"].Show()
  294.  
  295.     def TimeShop_1(self):
  296.         id=timeShop_1
  297.         if int(id) == 0:
  298.             print "unload"
  299.             self.UnLoad()
  300.             return
  301.         item = constInfo.shop_cost[id-1]
  302.         if item["price"]==1:
  303.             self.UI["price"].SetText("|cffa08784"+uiScriptLocaleMG.SHOP_CREATE_PRICE+"|cffa07970"+localemg.NumberToMoneyString(item["price"]))
  304.             self.UI["price"].Show()
  305.         else:
  306.             self.UI["price"].Show()
  307.     def UnLoad(self):
  308.         self.UI["price"].Hide()
  309.     #   self.UI["select"].Clear()  
  310. #   def Clear(self):
  311.     #   self.UI["select"].Clear()
  312.     def PopupMessage(self,text):
  313.         pop = uiCommon.PopupDialog()
  314.         pop.SetText(text)
  315.         pop.SetAcceptEvent(self.__OnClosePopupDialog)
  316.         pop.Open()
  317.         self.pop = pop
  318.         self.pop.SetTop()
  319.        
  320. class DropDown(uimg.Window):
  321.     dropped  = 0
  322.     dropstat = 0
  323.     last = 0
  324.     lastS = 0
  325.     maxh = 95
  326.     tt = ""
  327.     OnChange = None
  328.     class Item(uimg.ListBoxEx.Item):
  329.         def __init__(self,parent, text,value=0):
  330.             uimg.ListBoxEx.Item.__init__(self)
  331.  
  332.             self.textBox=uimg.TextLine()
  333.             self.textBox.SetParent(self)
  334.             self.textBox.SetText(text)
  335.             # self.textBox.SetLimitWidth(parent.GetWidth()-132)
  336.             self.textBox.Show()
  337.             self.value = value
  338.         def GetValue(self):
  339.             return self.value
  340.         def __del__(self):
  341.             uimg.ListBoxEx.Item.__del__(self)
  342.            
  343.     def __init__(self,parent,tt = "",down=1):
  344.         uimg.Window.__init__(self,"TOP_MOST")
  345.         self.tt=tt
  346.         self.down = down
  347.         self.SetParentProxy(parent)
  348.         self.bg = uimg.Bar("TOP_MOST")
  349.         self.bg.SetParent(self)
  350.         self.bg.SetPosition(0,0)
  351.         self.bg.SetColor(0xc0000000)
  352.         self.bg.OnMouseOverIn = self.bgMouseIn
  353.         self.bg.OnMouseOverOut = self.bgMouseOut
  354.         self.bg.OnMouseLeftButtonDown = self.ExpandMe
  355.         self.bg.Show()
  356.         self.act = uimg.TextLine()
  357.         self.act.SetParent(self.bg)
  358.         self.act.SetPosition(4,2)
  359.         self.act.SetText(self.tt)
  360.         self.act.Show()
  361.         self.GetText = self.act.GetText
  362.        
  363.         self.Drop = uimg.Bar("TOP_MOST")
  364.         self.Drop.SetParent(self.GetParentProxy())
  365.         self.Drop.SetPosition(0,21)
  366.         # self.Drop.SetSize(150,95)
  367.         self.Drop.SetSize(150,0)
  368.         # self.Drop.SetColor(0xc00a0a0a)
  369.         self.Drop.SetColor(0xff0a0a0a)
  370.        
  371.        
  372.         self.ScrollBar = uimg.ThinScrollBar()
  373.         self.ScrollBar.SetParent(self.Drop)
  374.         self.ScrollBar.SetPosition(132,0)
  375.         # self.ScrollBar.SetScrollBarSize(95)
  376.         self.ScrollBar.SetScrollBarSize(0)
  377.         # self.ScrollBar.Show()
  378.        
  379.         self.DropList = uimg.ListBoxEx()
  380.         self.DropList.SetParent(self.Drop)
  381.         self.DropList.itemHeight = 12
  382.         self.DropList.itemStep = 13
  383.         self.DropList.SetPosition(0,0)
  384.         # self.DropList.SetSize(132,self.maxh)
  385.         self.DropList.SetSize(132,13)
  386.         self.DropList.SetScrollBar(self.ScrollBar)
  387.         self.DropList.SetSelectEvent(self.SetTitle)
  388.         self.DropList.SetViewItemCount(0)
  389.         self.DropList.Show()
  390.         if self.tt != "":
  391.             self.AppendItemAndSelect(self.tt)
  392.         self.selected = self.DropList.GetSelectedItem()
  393.        
  394.            
  395.         self.SetSize(120,20)
  396.     def __del__(self):
  397.         uimg.Window.__del__(self)
  398.     c = 1
  399.     def AppendItem(self,text,value=0):
  400.         self.c+=1  
  401.         self.DropList.AppendItem(self.Item(self,text,value))
  402.         self.maxh = min(95,13*self.c)
  403.         if self.c > 7:
  404.             self.ScrollBar.Show()
  405.            
  406.        
  407.     def AppendItemAndSelect(self,text,value=0):
  408.         self.DropList.AppendItem(self.Item(self,text,value))
  409.         self.DropList.SelectIndex(len(self.DropList.itemList)-1)
  410.        
  411.        
  412.     def ClearItems(self):
  413.         self.DropList.RemoveAllItems()
  414.         self.AppendItemAndSelect(self.tt)
  415.         self.act.SetText(self.tt)
  416.     def Clear(self):
  417.         self.DropList.SelectIndex(0)
  418.     def SelectByAffectId(self,id):
  419.         for x in self.DropList.itemList:
  420.             if x.value == id:
  421.                 self.DropList.SelectItem(x)
  422.                 break
  423.                
  424.     def SetTitle(self,item):
  425.         self.act.SetText(str(item.textBox.GetText()))
  426.         self.last = self.DropList.basePos
  427.         self.lastS = self.ScrollBar.GetPos()
  428.         self.dropped = 0
  429.         self.selected = item
  430.         if self.OnChange:
  431.             self.OnChange()
  432.         # self.Drop.Hide()
  433.        
  434.     def SetPosition(self,w,h):
  435.         uimg.Window.SetPosition(self,w,h)
  436.         if self.down == 1:
  437.             self.Drop.SetPosition(w,h+21)
  438.         else:
  439.             self.Drop.SetPosition(w,h-self.Drop.GetHeight())
  440.        
  441.     def SetSize(self,w,h):
  442.         uimg.Window.SetSize(self,w,h)
  443.         self.bg.SetSize(w,h)
  444.         self.Drop.SetSize(w,0)
  445.         self.DropList.SetSize(w-18,self.maxh)
  446.         for x in self.DropList.itemList:
  447.             x.SetSize(w-18,12)
  448.         self.ScrollBar.SetPosition(w-18,0)
  449.        
  450.        
  451.     def ExpandMe(self):
  452.         if self.dropped == 1:
  453.             # self.Drop.Hide()
  454.             self.dropped = 0
  455.         else:
  456.             # self.Drop.Show()
  457.             self.dropped = 1
  458.            
  459.     def OnUpdate(self):
  460.         iter = 6
  461.         if self.Drop.GetHeight() < 50:
  462.             self.ScrollBar.Hide()
  463.         else:
  464.             self.ScrollBar.Show()
  465.            
  466.         if self.dropped == 0 and self.dropstat == 1:
  467.             if self.Drop.GetHeight() <=0:
  468.                 self.dropstat = 0
  469.                 self.Drop.SetSize(self.Drop.GetWidth(),0)
  470.                 self.ScrollBar.SetScrollBarSize(self.Drop.GetHeight())
  471.                 self.Drop.Hide()
  472.             else:
  473.                 if self.Drop.GetHeight()-iter < 0:
  474.                     self.Drop.SetSize(self.Drop.GetWidth(),0)
  475.                 else:
  476.                     self.Drop.SetSize(self.Drop.GetWidth(),self.Drop.GetHeight()-iter)
  477.                     (w,h) = self.GetLocalPosition()
  478.                     self.SetPosition(w,h)
  479.                        
  480.                    
  481.                 self.ScrollBar.SetScrollBarSize(self.Drop.GetHeight())
  482.             self.DropList.SetViewItemCount(int(self.Drop.GetHeight()/13))
  483.             self.DropList.SetBasePos(self.last+1)
  484.             self.DropList.SetBasePos(self.last)
  485.         elif self.dropped == 1 and self.dropstat == 0:
  486.             self.Drop.Show()
  487.             self.SetTop()
  488.             if self.Drop.GetHeight() >=self.maxh:
  489.                 self.Drop.SetSize(self.Drop.GetWidth(),self.maxh)
  490.                 self.ScrollBar.SetScrollBarSize(self.maxh)
  491.                 self.dropstat = 1
  492.                 self.DropList.SetViewItemCount(7)
  493.                 self.ScrollBar.SetPos(self.lastS)
  494.             else:
  495.                 self.ScrollBar.SetScrollBarSize(self.Drop.GetHeight()+iter)
  496.                 self.Drop.SetSize(self.Drop.GetWidth(),self.Drop.GetHeight()+iter)
  497.                 (w,h) = self.GetLocalPosition()
  498.                 self.SetPosition(w,h)
  499.             self.DropList.SetViewItemCount(int(self.Drop.GetHeight()/13))
  500.             self.DropList.SetBasePos(self.last+1)
  501.             self.DropList.SetBasePos(self.last)
  502.        
  503.     ## BG Hover
  504.     def bgMouseIn(self):
  505.         self.bg.SetColor(0xc00a0a0a)
  506.     def bgMouseOut(self):
  507.         self.bg.SetColor(0xc0000000)
  508.  
  509. class ShopEditWindow(uimg.ScriptWindow):
  510.  
  511.     def __init__(self):
  512.         uimg.ScriptWindow.__init__(self)
  513.         self.items={}
  514.         self.Edit={}
  515.         self.pop=None
  516.         self.id=0
  517.         self.lastUpdate=0
  518.         self.priceInputBoard=None
  519.         self.__Load()
  520.  
  521.         self.tooltipItem = uiToolTip.ItemToolTip()
  522.         self.tooltipItem.Hide()
  523.        
  524.     def __del__(self):
  525.         uimg.ScriptWindow.__del__(self)
  526.         self.Close()
  527.  
  528.     def __Load_LoadScript(self, fileName):
  529.         try:
  530.             pyScriptLoader = uimg.PythonScriptLoader()
  531.             pyScriptLoader.LoadScriptFile(self, fileName)
  532.         except:
  533.             import exception
  534.             exception.Abort("ShopEditWindow.__Load_LoadScript")
  535.  
  536.     def __Load_BindObject(self):
  537.         try:
  538.             self.titleBar = self.GetChild("TitleBar")
  539.             self.titleName = self.GetChild("TitleName")
  540.             self.ItemSlot = self.GetChild("ItemSlot")
  541.             try:
  542.                 for key in ["BuyButton","SellButton","MiddleTab1","MiddleTab2","MiddleTab2","SmallTab1","SmallTab2","SmallTab3"]:
  543.                     self.GetChild(key).Hide()
  544.             except Exception:
  545.                 pass
  546.             self.CloseButton = self.GetChild("CloseButton")
  547.         except:
  548.             import exception
  549.             exception.Abort("StoneDialog.__Load_BindObject")
  550.            
  551.         self.CloseButton.SetText("|cffe6d0a2"+uiScriptLocaleMG.SHOP_EDIT_SHOP_CANCEL)
  552.         self.CloseButton.SetEvent(uimg.__mem_func__(self.Close))
  553.         self.titleName.SetText("|cffe6d0a2"+uiScriptLocaleMG.SHOP_EDIT_SHOP_WINDOW)
  554.         self.titleBar.SetCloseEvent(uimg.__mem_func__(self.Close))
  555.         self.ItemSlot.SAFE_SetButtonEvent("LEFT", "EMPTY", self.OnSelectEmptySlot)
  556.         self.ItemSlot.SAFE_SetButtonEvent("LEFT", "EXIST", self.OnSelectItemSlot)
  557.         self.ItemSlot.SAFE_SetButtonEvent("RIGHT", "EXIST", self.UnselectItemSlot)
  558.         self.ItemSlot.SetOverInItemEvent(uimg.__mem_func__(self.OverInItem))
  559.         self.ItemSlot.SetOverOutItemEvent(uimg.__mem_func__(self.OverOutItem))
  560.    
  561.         self.Edit["Board"] = uimg.BoardWithTitleBar()
  562.         self.Edit["Board"].SetSize(150-1, 101+101-91)
  563.         self.Edit["Board"].AddFlag("movable")
  564.         self.Edit["Board"].SetPosition(0,0)
  565.         self.Edit["Board"].SetTitleName("|cffe6d0a2"+uiScriptLocaleMG.SHOP_SELECT)
  566.         self.Edit["Board"].SetCloseEvent(self.CloseEdit)
  567.         self.Edit["Board"].Show()
  568.        
  569.        
  570.  
  571.  
  572.         self.Edit["ChangePrice"] = uimg.Button()
  573.         self.Edit["ChangePrice"].SetParent(self.Edit["Board"])
  574.         self.Edit["ChangePrice"].SetPosition(30+2,35+5)
  575.         self.Edit["ChangePrice"].SetUpVisual('illumina/inne/btn_kod2_long_01.tga')
  576.         self.Edit["ChangePrice"].SetOverVisual('illumina/inne/btn_kod2_long_02.tga')
  577.         self.Edit["ChangePrice"].SetDownVisual('illumina/inne/btn_kod2_long_03.tga')
  578.         self.Edit["ChangePrice"].SetText("|cffe6d0a2"+uiScriptLocaleMG.SHOP_CHANGE_PRICE)
  579.         self.Edit["ChangePrice"].Show()
  580.        
  581.         self.Edit["Remove"] = uimg.Button()
  582.         self.Edit["Remove"].SetParent(self.Edit["Board"])
  583.         self.Edit["Remove"].SetPosition(30+2,65+3)
  584.         self.Edit["Remove"].SetUpVisual('illumina/inne/btn_kod2_long_01.tga')
  585.         self.Edit["Remove"].SetOverVisual('illumina/inne/btn_kod2_long_02.tga')
  586.         self.Edit["Remove"].SetDownVisual('illumina/inne/btn_kod2_long_03.tga')
  587.         self.Edit["Remove"].SetText("|cffe6d0a2"+uiScriptLocaleMG.SHOP_REMOVE_ITEM)
  588.         self.Edit["Remove"].Show()
  589.     def __Load(self):
  590.         self.__Load_LoadScript("UIScript/ShopDialog.py")
  591.         self.__Load_BindObject()
  592.     def CloseEdit(self):
  593.         self.Edit["Board"].Hide()
  594.     def Show(self,id):
  595.         if self.IsShow():
  596.             self.Close()
  597.         else:
  598.             uimg.ScriptWindow.Show(self)
  599.             net.SendChatPacket("/refresh_shop_items "+id)
  600.             self.id=id
  601.         self.Refresh()
  602.            
  603.     def OnPressEscapeKey(self):
  604.         self.Close()
  605.         return TRUE
  606.     def __OnClosePopupDialog(self):
  607.         if self.pop != None:
  608.             if self.pop.IsShow():
  609.                 self.pop.Hide()
  610.         self.pop = None
  611.     def __GetRealIndex(self, i):
  612.         return shop.SHOP_SLOT_COUNT + i
  613.        
  614.     def Close(self):
  615.         if None != self.tooltipItem:
  616.             self.tooltipItem.HideToolTip()
  617.         self.CancelInputPrice()
  618.         self.__OnClosePopupDialog()
  619.         self.Edit["Board"].Hide()
  620.         self.Hide()
  621.         return TRUE
  622.     def Clear(self):
  623.         self.items={}
  624.         self.CancelInputPrice()
  625.         self.__OnClosePopupDialog()
  626.         self.Edit["Board"].Hide()
  627.         self.Refresh()
  628.     def GetItemCount(self,slot):
  629.         try:
  630.             return int(self.items[int(slot)]["count"])
  631.         except KeyError:
  632.             return 0
  633.        
  634.     def GetItemID(self,slot):
  635.         try:
  636.             return int(self.items[int(slot)]["vnum"])
  637.         except KeyError:
  638.             return 0
  639.        
  640.     def AddItem(self,slot,data):
  641.         self.items[int(slot)]=data
  642.         self.Refresh()
  643.     def Refresh(self):
  644.         self.CancelInputPrice()
  645.         self.__OnClosePopupDialog()
  646.         self.Edit["Board"].Hide()
  647.         setItemID=self.ItemSlot.SetItemSlot
  648.         for i in xrange(shop.SHOP_SLOT_COUNT):
  649.             vnum=self.GetItemID(i)
  650.             itemCount = self.GetItemCount(i)
  651.            
  652.             setItemID(i, vnum, itemCount)
  653.         wndMgr.RefreshSlot(self.ItemSlot.GetWindowHandle())
  654.         self.ItemSlot.RefreshSlot()
  655.  
  656.     def __ShowToolTip(self, slot):
  657.         if self.tooltipItem:
  658.             self.tooltipItem.ClearToolTip()
  659.             if int(slot) in self.items.keys():
  660.                 it=self.items[int(slot)]
  661.                 if it.get("sourceSlot",-1)!=-1:
  662.                     self.tooltipItem.SetEditPrivateShopItem(int(it["sourceWindow"]),int(it["sourceSlot"]),it["price"])
  663.                 else:
  664.                     self.tooltipItem.AppendSellingPrice(it["price"])
  665.                     self.tooltipItem.AddItemData(int(it["vnum"]),it["sockets"],it["attrs"])
  666.             else:
  667.                 self.tooltipItem.HideToolTip()
  668.            
  669.     def OverInItem(self, slotIndex):
  670.         #slotIndex = self.__GetRealIndex(slotIndex)
  671.         self.ItemSlot.SetUsableItem(FALSE)
  672.         self.__ShowToolTip(slotIndex)
  673.  
  674.     def OverOutItem(self):
  675.         self.ItemSlot.SetUsableItem(FALSE)
  676.         if self.tooltipItem:
  677.             self.tooltipItem.HideToolTip()
  678.     def OnSelectEmptySlot(self, selectedSlotPos):
  679.  
  680.         isAttached = mouseModule.mouseController.isAttached()
  681.         if isAttached:
  682.             attachedSlotType = mouseModule.mouseController.GetAttachedType()
  683.             attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
  684.             mouseModule.mouseController.DeattachObject()
  685.  
  686.             if player.SLOT_TYPE_INVENTORY != attachedSlotType and player.SLOT_TYPE_DRAGON_SOUL_INVENTORY != attachedSlotType:
  687.                 return
  688.             attachedInvenType = player.SlotTypeToInvenType(attachedSlotType)
  689.             count = player.GetItemCount(attachedInvenType, attachedSlotPos)
  690.                
  691.             itemVNum = player.GetItemIndex(attachedInvenType, attachedSlotPos)
  692.             item.SelectItem(itemVNum)
  693.  
  694.            
  695.            
  696.             if item.IsAntiFlag(item.ANTIFLAG_GIVE) or item.IsAntiFlag(item.ANTIFLAG_MYSHOP):
  697.                 chat.AppendChat(chat.CHAT_TYPE_INFO, localemg.PRIVATE_SHOP_CANNOT_SELL_ITEM)
  698.                 return
  699.            
  700.             priceInputBoard = uiCommon.MoneyInputDialog()
  701.             priceInputBoard.SetTitle("|cffe6d0a2"+localemg.PRIVATE_SHOP_INPUT_PRICE_DIALOG_TITLE)
  702.             priceInputBoard.SetAcceptEvent(uimg.__mem_func__(self.AcceptInputPrice))
  703.             priceInputBoard.SetCancelEvent(uimg.__mem_func__(self.CancelInputPrice))
  704.             priceInputBoard.SetMaxLength(16)
  705.             priceInputBoard.Open()
  706.            
  707.             #self.ItemSlot.ActivateSlot(int(selectedSlotPos))
  708.            
  709.             self.priceInputBoard = priceInputBoard
  710.             self.priceInputBoard.itemVNum = itemVNum
  711.             self.priceInputBoard.sourceWindowType = attachedInvenType
  712.             self.priceInputBoard.sourceSlotPos = attachedSlotPos
  713.             self.priceInputBoard.targetSlotPos = selectedSlotPos
  714.     def UnselectItemSlot(self,selectedSlotPos):
  715.         self.Edit["Board"].Hide()
  716.         #self.ItemSlot.DeactivateSlot(int(selectedSlotPos))
  717.         self.CancelInputPrice()
  718.         self.__OnClosePopupDialog()
  719.     def OnSelectItemSlot(self, selectedSlotPos):
  720.         isAttached = mouseModule.mouseController.isAttached()
  721.         #selectedSlotPos = self.__GetRealIndex(selectedSlotPos)
  722.         if isAttached:
  723.             snd.PlaySound("sound/ui/loginfail.wav")
  724.             #self.ItemSlot.DeactivateSlot(int(selectedSlotPos))
  725.             mouseModule.mouseController.DeattachObject()
  726.             self.Edit["Board"].Hide()
  727.         else:
  728.             if not int(selectedSlotPos) in self.items.keys():
  729.                 self.Edit["Board"].Hide()
  730.                 return
  731.  
  732.             snd.PlaySound("sound/ui/drop.wav")
  733.             #self.ItemSlot.ActivateSlot(selectedSlotPos)
  734.             self.EditItem(selectedSlotPos)
  735.  
  736.     def AcceptInputPrice(self):
  737.  
  738.         if not self.priceInputBoard:
  739.             return True
  740.  
  741.         text = self.priceInputBoard.GetText()
  742.  
  743.         if not text:
  744.             return True
  745.  
  746.         if not text.isdigit():
  747.             return True
  748.  
  749.         if int(text) <= 0:
  750.             return True
  751.        
  752.         attachedInvenType = self.priceInputBoard.sourceWindowType
  753.         sourceSlotPos = self.priceInputBoard.sourceSlotPos
  754.         targetSlotPos = self.priceInputBoard.targetSlotPos
  755.         price = int(self.priceInputBoard.GetText())
  756.         count = player.GetItemCount(attachedInvenType, sourceSlotPos)
  757.         vnum = player.GetItemIndex(attachedInvenType, sourceSlotPos)
  758.         self.items[int(targetSlotPos)]={
  759.             "vnum":int(vnum),
  760.             "count":int(count),
  761.             "price":int(price),
  762.             "sourceSlot":sourceSlotPos,
  763.             "sourceWindow":attachedInvenType
  764.         }
  765.         snd.PlaySound("sound/ui/pick.wav")
  766.         #self.ItemSlot.DeactivateSlot(targetSlotPos)
  767.         net.SendChatPacket("/update_shop_item add|%d|%d|%d|%d|%s"%(int(self.id),int(targetSlotPos),int(sourceSlotPos),int(attachedInvenType),str(price)))
  768.         self.Refresh()     
  769.  
  770.         #####
  771.  
  772.         self.priceInputBoard = None
  773.         return True
  774.  
  775.     def CancelInputPrice(self):
  776.         self.priceInputBoard = None
  777.         return True
  778.     def EditItem(self,slot):
  779.         self.Edit["ChangePrice"].SetEvent(uimg.__mem_func__(self.EditPrice),int(slot))
  780.         self.Edit["Remove"].SetEvent(uimg.__mem_func__(self.RemoveItem),int(slot))
  781.         (w,h)=(170,328)
  782.         (x,y)=self.GetLocalPosition()
  783.         self.Edit["Board"].SetPosition((x-w),(y+(h/2)))
  784.         self.Edit["Board"].Show()
  785.     def EditPrice(self,slot):
  786.         self.priceInputBoard = uiCommon.MoneyInputDialog()
  787.         self.priceInputBoard.SetTitle("|cffe6d0a2"+localemg.PRIVATE_SHOP_INPUT_PRICE_DIALOG_TITLE)
  788.     #   self.priceInputBoard.SetTitle(localemg.PRIVATE_SHOP_INPUT_PRICE_DIALOG_TITLE)
  789.         self.priceInputBoard.SetAcceptEvent(uimg.__mem_func__(self.AcceptEditPrice))
  790.         self.priceInputBoard.SetCancelEvent(uimg.__mem_func__(self.CancelInputPrice))
  791.         self.priceInputBoard.SetMaxLength(16)
  792.         self.priceInputBoard.Open()
  793.         self.priceInputBoard.targetSlotPos = int(slot)
  794.     def RemoveItem(self,slot):
  795.         self.pop = uiCommon.QuestionDialog()
  796.         self.pop.SetText("|cffa07970"+uiScriptLocaleMG.SHOP_REMOVE_ITEM_QUEST)
  797.         self.pop.SetAcceptEvent(lambda arg1=str(slot): self.AcceptRemoveItem(arg1))
  798.         self.pop.SetCancelEvent(uimg.__mem_func__(self.__OnClosePopupDialog))
  799.         self.pop.Open()
  800.     def AcceptRemoveItem(self,slot):
  801.         if int(slot) in self.items.keys():
  802.             snd.PlaySound("sound/ui/drop.wav")
  803.             net.SendChatPacket("/update_shop_item remove|"+str(self.id)+"|"+str(self.items[int(slot)]["id"]))
  804.             #self.ItemSlot.DeactivateSlot(int(slot))
  805.             del self.items[int(slot)]
  806.         self.Refresh() 
  807.        
  808.         self.__OnClosePopupDialog()
  809.     def AcceptEditPrice(self):
  810.  
  811.         if not self.priceInputBoard:
  812.             return True
  813.  
  814.         text = self.priceInputBoard.GetText()
  815.  
  816.         if not text:
  817.             return True
  818.  
  819.         if not text.isdigit():
  820.             return True
  821.  
  822.         if int(text) <= 0:
  823.             return True
  824.        
  825.         targetSlotPos = self.priceInputBoard.targetSlotPos
  826.         price = int(self.priceInputBoard.GetText())
  827.         #self.ItemSlot.DeactivateSlot(int(targetSlotPos))
  828.         self.items[int(targetSlotPos)]["price"]=price
  829.         snd.PlaySound("sound/ui/drop.wav")
  830.         net.SendChatPacket("/update_shop_item price|"+str(self.id)+"|"+str(self.items[int(targetSlotPos)]["id"])+"|"+str(price))
  831.         self.Refresh() 
  832.         self.priceInputBoard = None
  833.         return True
  834.     # def OnUpdate(self):
  835.         # if self.lastUpdate < app.GetGlobalTime():
  836.             # self.lastUpdate=app.GetGlobalTime()+10000
  837.             # if int(self.id)>0:
  838.                 # net.SendChatPacket("/refresh_shop_items "+str(self.id))  
  839. class ShopDialog(uimg.ScriptWindow):
  840.  
  841.     Edit={}
  842.     UI={}
  843.     pop=None
  844.     uiNewShopCreate = ShopDialogCreate()
  845.     uiNewShopCreate.Hide()
  846.     uiNewShopEdit = ShopEditWindow()
  847.     uiNewShopEdit.Close()
  848.     tooltip = uiToolTip.ToolTip(220)
  849.     tooltip.Hide() 
  850.     BoardHeight=40
  851.     CurrentEdit=0
  852.     EditBoardY=35
  853.     lastUpdate=0
  854.    
  855.     DaneSklepu=0
  856.    
  857.     def __init__(self):
  858.         uimg.ScriptWindow.__init__(self)
  859.         self.LoadDialog()
  860.     def __del__(self):
  861.         uimg.ScriptWindow.__del__(self)
  862.  
  863.     def LoadDialog(self):
  864.         self.UI["board"]=uimg.BoardWithTitleBar()  
  865.         self.UI["board"].SetSize(207, 357)
  866.         self.UI["board"].AddFlag("movable")
  867.         self.UI["board"].SetCenterPosition(200, 0)
  868.         self.UI["board"].SetTitleName("|cffe6d0a2"+uiScriptLocaleMG.SHOP_WINDOW_NAME)
  869.         self.UI["board"].SetCloseEvent(self.Close)
  870.         self.UI["board"].Hide()
  871.         self.UI["shops"]={}    
  872.        
  873.         self.Edit["Board"] = uimg.BoardWithTitleBar()
  874.         self.Edit["Board"].SetSize(150, 130)
  875.         self.Edit["Board"].AddFlag("movable")
  876.  
  877.         self.Edit["Board"].SetCenterPosition(150,0)
  878.  
  879.         self.Edit["Board"].SetTitleName(uiScriptLocaleMG.SHOP_SELECT)
  880.         self.Edit["Board"].SetCloseEvent(self.CloseEdit)
  881.         self.Edit["Board"].Hide()  
  882.  
  883.         self.SetCenterPosition()
  884.         self.AddFlag("movable")
  885.         self.UpdateSize()
  886.     def AddEditOption(self,name,text,func):
  887.         self.Edit[name] = uimg.Button()
  888.         self.Edit[name].SetParent(self.Edit["Board"])
  889.         self.Edit[name].SetPosition(30+7,self.EditBoardY+11)
  890.         self.Edit[name].SetUpVisual('illumina/inne/btn_kod_01.tga')
  891.         self.Edit[name].SetOverVisual('illumina/inne/btn_kod_02.tga')
  892.         self.Edit[name].SetDownVisual('illumina/inne/btn_kod_03.tga')
  893.         self.Edit[name].SetText(text)
  894.         self.Edit[name].Show()
  895.         self.EditBoardY+=30
  896.         self.Edit["Board"].SetSize(150+30, self.EditBoardY+30)
  897.         self.Edit[name].SetEvent(func)
  898.         self.UpdateSize()
  899.     def CloseEdit(self):
  900.         if "Board" in self.Edit.keys():
  901.             self.Edit["Board"].Hide()
  902.         self.CurrentEdit=0
  903.        
  904.     def Load(self,data):
  905.         title=data["name"]
  906.        
  907.         self.DaneSklepu = data
  908.        
  909.         if len(title) > 20:
  910.             title = title[:17] + "..."
  911.         gui={}
  912.         gui["nameTextImage"] = uimg.MakeImageBox(self.UI["board"], "d:/ymir work/ui/public/Parameter_Slot_04.sub", 10, self.BoardHeight)
  913.         gui["nameTextImage"].SAFE_SetStringEvent("MOUSE_OVER_IN", lambda arg=data: self.__ShowToolTip(arg),TRUE)
  914.         gui["nameTextImage"].SAFE_SetStringEvent("MOUSE_OVER_OUT", self.__HideItemToolTip)
  915.         gui["name"] = uimg.MakeTextLine(gui["nameTextImage"])
  916.         gui["name"].SetWindowHorizontalAlignCenter()
  917.         gui["name"].SetHorizontalAlignCenter()
  918.         gui["name"].SetText(title) 
  919.         gui["name"].SetFontColorNew(160, 121, 112)
  920.        
  921.         gui["nameTextImage"].Hide()
  922.        
  923.         gui["manage"] = uimg.MakeButton(self.UI["board"],17, 312,"","illumina/inne/","btn_esc_01.tga","btn_esc_02.tga","btn_esc_03.tga")
  924.         gui["manage"].SetText("|cffe6d0a2"+uiScriptLocaleMG.SHOP_MANAGE)
  925.         gui["manage"].SetEvent(uimg.__mem_func__(self.ManageShop),data)
  926.         gui["manage"].Show()
  927.         if self.CurrentEdit==data["id"]:
  928.             self.ManageShop(data,1)
  929.         gui["data"]=data
  930.         self.UI["shops"][str(data["id"])]=gui
  931.         self.BoardHeight+=30
  932.         self.UpdateSize()
  933.        
  934.     def __OnClosePopupDialog(self):
  935.         if self.pop != None:
  936.             if self.pop.IsShow():
  937.                 self.pop.Hide()
  938.         self.pop = None
  939.        
  940.     def ManageShop(self,data,force=0):
  941.         self.EditBoardY=35
  942.         self.AddEditOption("change_name","|cffe6d0a2"+uiScriptLocaleMG.SHOP_CHANGE_NAME,lambda arg1=data: self.OnChangeButtonClick(arg1))
  943.         self.AddEditOption("get_yang","|cffe6d0a2"+uiScriptLocaleMG.SHOP_GET_YANG,lambda arg1=data: self.GetShopYang(arg1))
  944.         self.AddEditOption("edit","|cffe6d0a2"+uiScriptLocaleMG.SHOP_EDIT,lambda arg1=data["id"]: self.OnEditButtonClick(arg1))
  945.         self.AddEditOption("close","|cffe6d0a2"+uiScriptLocaleMG.SHOP_CLOSE,lambda arg1=data: self.CloseShop(arg1))
  946.         if self.Edit["Board"].IsShow() and self.CurrentEdit==data["id"] and force==0:
  947.             self.Edit["Board"].Hide()
  948.             self.CurrentEdit=0
  949.         else:
  950.             title=data["name"]
  951.             if len(title) > 20:
  952.                 title = title[:17] + "..."
  953.         self.Edit["Board"].SetTitleName("|cffe6d0a2"+title)
  954.         self.Edit["Board"].Show()
  955.         self.CurrentEdit=data["id"]
  956.  
  957.     def UpdateSize(self):
  958.         Y=25
  959.         if POSITION_FIX:
  960.             Y=45
  961.         self.UI["create_button"] = uimg.MakeButton(self.UI["board"],17, 42,"","illumina/inne/","btn_esc_01.tga","btn_esc_02.tga","btn_esc_03.tga")
  962.         self.UI["create_button"].SetText("|cffe6d0a2"+uiScriptLocaleMG.SHOP_OPEN)
  963.         self.UI["create_button"].SetEvent(lambda : self.CreateShop())
  964.         self.UI["create_button"].Show()
  965.  
  966.         self.UI["gift_button"] = uimg.MakeButton(self.UI["board"],17, 72,"","illumina/inne/","btn_esc_01.tga","btn_esc_02.tga","btn_esc_03.tga")
  967.         self.UI["gift_button"].SetText("|cffe6d0a2Magazyn Sklepu")
  968.         self.UI["gift_button"].SetEvent(lambda : self.GitfOpen())
  969.         self.UI["gift_button"].Show()
  970.        
  971.         self.UI["separator"] = uimg.HorizontalSeparator()
  972.         self.UI["separator"].SetParent(self.UI["board"])
  973.         self.UI["separator"].SetPosition(12, 100)
  974.         self.UI["separator"].SetWidth(183)
  975.         self.UI["separator"].Show()
  976.        
  977.         self.UI["Napis1"] = uimg.TextLine()
  978.         self.UI["Napis1"].SetParent(self.UI["board"])
  979.         self.UI["Napis1"].SetPosition(0,109)
  980.         self.UI["Napis1"].SetText("|cffa08784Nazwa sklepu:")
  981.         self.UI["Napis1"].SetWindowHorizontalAlignCenter()
  982.         self.UI["Napis1"].SetHorizontalAlignCenter()
  983.         self.UI["Napis1"].Show()
  984.        
  985.         self.UI["Napis2"] = uimg.TextLine()
  986.         self.UI["Napis2"].SetParent(self.UI["board"])
  987.         self.UI["Napis2"].SetPosition(0,149)
  988.         self.UI["Napis2"].SetText("|cffa08784Zarobione Yangi:")
  989.         self.UI["Napis2"].SetWindowHorizontalAlignCenter()
  990.         self.UI["Napis2"].SetHorizontalAlignCenter()
  991.         self.UI["Napis2"].Show()
  992.        
  993.         self.UI["Napis3"] = uimg.TextLine()
  994.         self.UI["Napis3"].SetParent(self.UI["board"])
  995.         self.UI["Napis3"].SetPosition(0,189)
  996.         self.UI["Napis3"].SetText("|cffa08784PozostaÅ‚e przedmioty:")
  997.         self.UI["Napis3"].SetWindowHorizontalAlignCenter()
  998.         self.UI["Napis3"].SetHorizontalAlignCenter()
  999.         self.UI["Napis3"].Show()
  1000.        
  1001.         self.UI["Napis4"] = uimg.TextLine()
  1002.         self.UI["Napis4"].SetParent(self.UI["board"])
  1003.         self.UI["Napis4"].SetPosition(0,229)
  1004.         self.UI["Napis4"].SetText("|cffa08784Sprzedane przedmioty:")
  1005.         self.UI["Napis4"].SetWindowHorizontalAlignCenter()
  1006.         self.UI["Napis4"].SetHorizontalAlignCenter()
  1007.         self.UI["Napis4"].Show()
  1008.        
  1009.         self.UI["Napis5"] = uimg.TextLine()
  1010.         self.UI["Napis5"].SetParent(self.UI["board"])
  1011.         self.UI["Napis5"].SetPosition(0,269)
  1012.         self.UI["Napis5"].SetText("|cffa08784Czas do zamkniÄ™cia sklepu:")
  1013.         self.UI["Napis5"].SetWindowHorizontalAlignCenter()
  1014.         self.UI["Napis5"].SetHorizontalAlignCenter()
  1015.         self.UI["Napis5"].Show()
  1016.        
  1017.         self.UI["testowy_bar1"] = uimg.SlotBarMG()
  1018.         self.UI["testowy_bar1"].SetParent(self.UI["board"])
  1019.         self.UI["testowy_bar1"].SetPosition(30, 125)
  1020.         self.UI["testowy_bar1"].SetWidth(150)
  1021.         self.UI["testowy_bar1"].Show()
  1022.        
  1023.         self.UI["Napis1_Wynik"] = uimg.TextLine()
  1024.         self.UI["Napis1_Wynik"].SetParent(self.UI["testowy_bar1"])
  1025.         self.UI["Napis1_Wynik"].SetPosition(0,4)
  1026.         self.UI["Napis1_Wynik"].SetText("|cffa07970Brak")
  1027.         self.UI["Napis1_Wynik"].SetWindowHorizontalAlignCenter()
  1028.         self.UI["Napis1_Wynik"].SetHorizontalAlignCenter()
  1029.         self.UI["Napis1_Wynik"].Show()
  1030.        
  1031.         self.UI["testowy_bar2"] = uimg.SlotBarMG()
  1032.         self.UI["testowy_bar2"].SetParent(self.UI["board"])
  1033.         self.UI["testowy_bar2"].SetPosition(30, 165)
  1034.         self.UI["testowy_bar2"].SetWidth(150)
  1035.         self.UI["testowy_bar2"].Show()
  1036.        
  1037.         self.UI["Napis2_Wynik"] = uimg.TextLine()
  1038.         self.UI["Napis2_Wynik"].SetParent(self.UI["testowy_bar2"])
  1039.         self.UI["Napis2_Wynik"].SetPosition(0,4)
  1040.         self.UI["Napis2_Wynik"].SetText("|cffa07970Brak")
  1041.         self.UI["Napis2_Wynik"].SetWindowHorizontalAlignCenter()
  1042.         self.UI["Napis2_Wynik"].SetHorizontalAlignCenter()
  1043.         self.UI["Napis2_Wynik"].Show()
  1044.        
  1045.         self.UI["testowy_bar3"] = uimg.SlotBarMG()
  1046.         self.UI["testowy_bar3"].SetParent(self.UI["board"])
  1047.         self.UI["testowy_bar3"].SetPosition(30, 205)
  1048.         self.UI["testowy_bar3"].SetWidth(150)
  1049.         self.UI["testowy_bar3"].Show()
  1050.        
  1051.         self.UI["Napis3_Wynik"] = uimg.TextLine()
  1052.         self.UI["Napis3_Wynik"].SetParent(self.UI["testowy_bar3"])
  1053.         self.UI["Napis3_Wynik"].SetPosition(0,4)
  1054.         self.UI["Napis3_Wynik"].SetText("|cffa07970Brak")
  1055.         self.UI["Napis3_Wynik"].SetWindowHorizontalAlignCenter()
  1056.         self.UI["Napis3_Wynik"].SetHorizontalAlignCenter()
  1057.         self.UI["Napis3_Wynik"].Show()
  1058.        
  1059.         self.UI["testowy_bar4"] = uimg.SlotBarMG()
  1060.         self.UI["testowy_bar4"].SetParent(self.UI["board"])
  1061.         self.UI["testowy_bar4"].SetPosition(30, 245)
  1062.         self.UI["testowy_bar4"].SetWidth(150)
  1063.         self.UI["testowy_bar4"].Show()
  1064.        
  1065.         self.UI["Napis4_Wynik"] = uimg.TextLine()
  1066.         self.UI["Napis4_Wynik"].SetParent(self.UI["testowy_bar4"])
  1067.         self.UI["Napis4_Wynik"].SetPosition(0,4)
  1068.         self.UI["Napis4_Wynik"].SetText("|cffa07970Brak")
  1069.         self.UI["Napis4_Wynik"].SetWindowHorizontalAlignCenter()
  1070.         self.UI["Napis4_Wynik"].SetHorizontalAlignCenter()
  1071.         self.UI["Napis4_Wynik"].Show()
  1072.        
  1073.         self.UI["testowy_bar5"] = uimg.SlotBarMG()
  1074.         self.UI["testowy_bar5"].SetParent(self.UI["board"])
  1075.         self.UI["testowy_bar5"].SetPosition(30, 285)
  1076.         self.UI["testowy_bar5"].SetWidth(150)
  1077.         self.UI["testowy_bar5"].Show()
  1078.        
  1079.         self.UI["Napis5_Wynik"] = uimg.TextLine()
  1080.         self.UI["Napis5_Wynik"].SetParent(self.UI["testowy_bar5"])
  1081.         self.UI["Napis5_Wynik"].SetPosition(0,4)
  1082.         self.UI["Napis5_Wynik"].SetText("|cffa07970Brak")
  1083.         self.UI["Napis5_Wynik"].SetWindowHorizontalAlignCenter()
  1084.         self.UI["Napis5_Wynik"].SetHorizontalAlignCenter()
  1085.         self.UI["Napis5_Wynik"].Show()
  1086.        
  1087.     def GitfOpen(self):
  1088.         self.Hide();
  1089.         self.uiNewShopCreate.Show()
  1090.        
  1091.     def CreateShop(self):
  1092.         self.Hide();
  1093.         self.uiNewShopCreate.Show()
  1094.        
  1095.     def CloseShop(self,shop):
  1096.         self.pop = uiCommon.QuestionDialog2()
  1097.         self.pop.SetText1("|cffa08784"+uiScriptLocaleMG.SHOP_CLOSE_QUEST)
  1098.         self.pop.SetText2("|cffa07970"+(shop["name"]))
  1099.         self.pop.SetAcceptEvent(lambda arg1=str(shop["id"]): self.OnCloseShop(arg1))
  1100.         self.pop.SetCancelEvent(uimg.__mem_func__(self.__OnClosePopupDialog))
  1101.         self.pop.Open()
  1102.         self.pop.shop = shop
  1103.         self.pop = pop
  1104.        
  1105.     def OnCloseShop(self,id):
  1106.         self.__OnClosePopupDialog()
  1107.         net.SendChatPacket("/close_shop %d" %(int(id)))
  1108.         if len(self.UI["shops"].keys())==1:
  1109.             self.Close()
  1110.        
  1111.     def GetShopYang(self,shop):
  1112.         if int(shop["gold"]) <=0:
  1113.             self.PopupMessage("|cffa08784"+uiScriptLocaleMG.SHOP_NOT_EARNED_YANG)
  1114.             return
  1115.         self.pop = uiCommon.QuestionDialog()
  1116.         self.pop.SetText(uiScriptLocaleMG.SHOP_YANG_QUEST%(localemg.NumberToMoneyString(shop["gold"]),shop["name"]))
  1117.         self.pop.SetAcceptEvent(lambda arg1=str(shop["id"]): self.OnGetYang(arg1))
  1118.         self.pop.SetCancelEvent(uimg.__mem_func__(self.__OnClosePopupDialog))
  1119.         self.pop.Open()
  1120.     def AddItem(self,slot,data):
  1121.         self.uiNewShopEdit.AddItem(slot,data)
  1122.     def ClearItems(self):
  1123.         self.uiNewShopEdit.Clear()
  1124.     def OnGetYang(self,id):
  1125.         self.__OnClosePopupDialog()
  1126.         net.SendChatPacket("/shop_yang %d" %(int(id)))
  1127.    
  1128.     def OnChangeButtonClick(self,shop):
  1129.         inputDialog = uiCommon.InputDialog()
  1130.         inputDialog.SetTitle("|cffe6d0a2"+uiScriptLocaleMG.SHOP_ENTER_NEW_NAME)
  1131.         inputDialog.SetMaxLength(32)
  1132.         inputDialog.SetAcceptEvent(lambda arg1=str(shop["id"]): self.OnChangeName(arg1))
  1133.         inputDialog.SetCancelEvent(uimg.__mem_func__(self.CloseInputNameDialog))
  1134.         inputDialog.Open()
  1135.  
  1136.         self.inputDialog = inputDialog
  1137.  
  1138.     def CloseInputNameDialog(self):
  1139.         self.inputDialog = None
  1140.  
  1141.     def OnChangeName(self,id):
  1142.         if not self.inputDialog:
  1143.             return
  1144.         name=self.inputDialog.GetText()
  1145.         if not len(name):
  1146.             return
  1147.         name=name.replace(" ","\\")
  1148.         net.SendChatPacket("/shop_name %d %s" %(int(id),name))
  1149.         self.CloseInputNameDialog()
  1150.  
  1151.     def Destroy(self):
  1152.         self.Hide()
  1153.         self.__OnClosePopupDialog()
  1154.         self.UI={}
  1155.         self.wndPopupDialog = None
  1156.         self.inputDialog = None
  1157.         if self.uiNewShopEdit:
  1158.             self.uiNewShopEdit.Close()
  1159.         self.uiNewShopEdit = None
  1160.     def OnPressEscapeKey(self):
  1161.         self.Hide()
  1162.     def Hide(self):
  1163.         self.CloseEdit()
  1164.         self.__OnClosePopupDialog()
  1165.         if self.uiNewShopEdit:
  1166.             self.uiNewShopEdit.Close()
  1167.         self.__HideItemToolTip()
  1168.         uimg.ScriptWindow.Hide(self)
  1169.     def Close(self):
  1170.         self.UI["board"].Hide()
  1171.         self.Hide()
  1172.        
  1173.     def __ShowToolTip(self,shop):
  1174.         if self.tooltip:
  1175.             self.tooltip.ClearToolTip()
  1176.             self.tooltip.AutoAppendTextLine(uiScriptLocaleMG.SHOP_INFORMATION+str(shop["name"]), titleColor)
  1177.             self.tooltip.AppendSpace(5)
  1178.             self.tooltip.AutoAppendTextLine(uiScriptLocaleMG.SHOP_EARNED_YANG+str(localemg.NumberToMoneyString((shop["gold"]))), POSITIVE_COLOR)   
  1179.             self.tooltip.AppendSpace(5)
  1180.             self.tooltip.AutoAppendTextLine(uiScriptLocaleMG.SHOP_REST_ITEMS+str(int(shop["sold"])), POSITIVE_COLOR)   
  1181.             self.tooltip.AppendSpace(5)
  1182.             self.tooltip.AutoAppendTextLine(uiScriptLocaleMG.SHOP_SOLD_ITEMS+str(shop["items"]), POSITIVE_COLOR)   
  1183.             self.tooltip.AppendSpace(5)
  1184.             self.tooltip.AutoAppendTextLine(uiScriptLocaleMG.SHOP_TIME_TO_CLOSE+str(localemg.SecondToDHM(int(shop["time"])-int(time.time()))), NEGATIVE_COLOR) 
  1185.             self.tooltip.AppendSpace(5)
  1186.             self.tooltip.ShowToolTip()
  1187.        
  1188.    
  1189.     def __HideItemToolTip(self):
  1190.         if self.tooltip:
  1191.             self.tooltip.HideToolTip()
  1192.            
  1193.     def OnEditButtonClick(self,id):
  1194.         if self.uiNewShopEdit.IsShow():
  1195.             self.uiNewShopEdit.Close()
  1196.         else:
  1197.             self.uiNewShopEdit.Show(str(id))
  1198.     def Show(self):
  1199.         self.UI["board"].Show()
  1200.         uimg.ScriptWindow.Show(self)
  1201.     def HideAll(self):
  1202.         self.BoardHeight=120
  1203.         for key,item in self.UI["shops"].iteritems():      
  1204.             for k,v in item.iteritems():
  1205.                 if k !="data":
  1206.                 #   v.Hide()
  1207.                     pass
  1208.             self.UI["shops"][key]["data"]={}
  1209.         self.UI["shops"]={}
  1210.     def PopupMessage(self, msg):
  1211.         self.wndPopupDialog = uiCommon.PopupDialog()
  1212.         self.wndPopupDialog.SetText(msg)
  1213.         self.wndPopupDialog.Open()
  1214.     def OnUpdate(self):
  1215.         if self.lastUpdate < app.GetGlobalTime():
  1216.             self.lastUpdate=app.GetGlobalTime()+900
  1217.             if "shops" in self.UI.keys():
  1218.                 if str(self.CurrentEdit) not in self.UI["shops"].keys():
  1219.                     self.CloseEdit()
  1220.  
  1221.         if self.DaneSklepu != 0:
  1222.             self.UI["Napis1_Wynik"].SetText("|cffa07970"+str(self.DaneSklepu["name"]))
  1223.             self.UI["Napis2_Wynik"].SetText("|cffa07970"+str(self.DaneSklepu["gold"]))
  1224.             self.UI["Napis3_Wynik"].SetText("|cffa07970"+str(self.DaneSklepu["sold"]))
  1225.             self.UI["Napis4_Wynik"].SetText("|cffa07970"+str(self.DaneSklepu["items"]))
  1226.             self.UI["Napis5_Wynik"].SetText("|cffa07970"+str(localemg.SecondToDHM(int(self.DaneSklepu["time"])-int(time.time()))))
Add Comment
Please, Sign In to add comment