Cod: Selectaţi tot
import ui
import net
import grp
import wndMgr
import item
import uiToolTip
import dbg
COLOR_BG = grp.GenerateColor(0.0, 0.0, 0.0, 0.0)
POSITIONS = [-200, 0, 200]
PHASE_OPENING = 1
PHASE_OPEN = 2
PHASE_CLOSE = 3
TEST_IMAGES = [0, 0, 0]
class SpecialImage(ui.Window):
def __init__(self):
ui.Window.__init__(self)
self.SetSize(32, 96)
self.itemImage = ui.ImageBox()
self.itemImage.SetParent(self)
self.itemImage.Show()
self.itemToolTip = uiToolTip.ItemToolTip()
self.Show()
def __del__(self):
ui.Window.__del__(self)
def LoadItem(self, itemVnum):
try:
item.SelectItem(int(itemVnum))
self.itemToolTip.ClearToolTip()
self.itemToolTip.SetItemToolTip(int(itemVnum))
self.itemToolTip.HideToolTip()
self.itemImage.LoadImage(item.GetIconImageFileName())
self.SetSize(self.itemImage.GetWidth(), self.itemImage.GetHeight())
except:
dbg.TraceError("SpecialCard: Eroare la incarcarea itemului %d" % itemVnum)
def OnUpdate(self):
if self.itemImage.IsIn():
self.itemToolTip.ShowToolTip()
else:
self.itemToolTip.HideToolTip()
class SpecialCardReward(ui.Bar):
def __init__(self):
ui.Bar.__init__(self, "TOP_MOST")
self.WindowPhase = 0
self.BackgroundAlpha = 0.0
self.ImagesAlpha = 0.0
self.CoverAlpha = [1.0, 1.0, 1.0]
self.BackgroundCards = []
self.CoverCards = []
self.CardButtons = []
self.ItemImages = []
self.ItemIndex = 0
self.Selected = False
self.SelectedID = 0
self.ShowOther = False
self.BuildWindow()
def __del__(self):
ui.Bar.__del__(self)
def BuildWindow(self):
self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
self.SetColor(COLOR_BG)
for x in xrange(3):
bgCard = ui.ExpandedImageBox()
bgCard.SetParent(self)
try:
bgCard.LoadImage("d:/ymir work/ui/new_gui/special_cards/background_card.tga")
except:
dbg.TraceError("SpecialCard: Lipseste background_card.tga")
bgCard.SetWindowHorizontalAlignCenter()
bgCard.SetWindowVerticalAlignCenter()
bgCard.SetPosition(POSITIONS[x], 20)
bgCard.Hide()
self.BackgroundCards.append(bgCard)
coverCard = ui.ExpandedImageBox()
coverCard.SetParent(self)
try:
coverCard.LoadImage("d:/ymir work/ui/new_gui/special_cards/card_01.tga")
except:
pass
coverCard.SetWindowHorizontalAlignCenter()
coverCard.SetWindowVerticalAlignCenter()
coverCard.SetPosition(POSITIONS[x], 20)
coverCard.SetAlpha(0.0)
coverCard.Show()
self.CoverCards.append(coverCard)
cardButton = ui.Button()
cardButton.SetParent(self)
cardButton.SetUpVisual("d:/ymir work/ui/new_gui/special_cards/card_01.tga")
cardButton.SetOverVisual("d:/ymir work/ui/new_gui/special_cards/card_02.tga")
cardButton.SetDownVisual("d:/ymir work/ui/new_gui/special_cards/card_02.tga")
cardButton.SetWindowHorizontalAlignCenter()
cardButton.SetWindowVerticalAlignCenter()
cardButton.SetPosition(POSITIONS[x], 20)
cardButton.SetEvent(ui.__mem_func__(self.SelectReward), x)
cardButton.Hide()
self.CardButtons.append(cardButton)
itemImage = SpecialImage()
itemImage.SetParent(bgCard)
itemImage.LoadItem(TEST_IMAGES[x])
itemImage.SetWindowHorizontalAlignCenter()
itemImage.SetWindowVerticalAlignCenter()
itemImage.Show()
self.ItemImages.append(itemImage)
self.ShowOtherButton = ui.Button()
self.ShowOtherButton.SetParent(self)
self.ShowOtherButton.SetUpVisual("d:/ymir work/ui/public/xlarge_button_01.sub")
self.ShowOtherButton.SetOverVisual("d:/ymir work/ui/public/xlarge_button_02.sub")
self.ShowOtherButton.SetDownVisual("d:/ymir work/ui/public/xlarge_button_03.sub")
self.ShowOtherButton.SetWindowHorizontalAlignCenter()
self.ShowOtherButton.SetWindowVerticalAlignCenter()
self.ShowOtherButton.SetPosition(0, 160)
self.ShowOtherButton.SetText("Afisare Carti")
self.ShowOtherButton.SetEvent(ui.__mem_func__(self.OtherRewards))
self.ShowOtherButton.Hide()
self.CloseButton = ui.Button()
self.CloseButton.SetParent(self)
self.CloseButton.SetUpVisual("d:/ymir work/ui/public/xlarge_button_01.sub")
self.CloseButton.SetOverVisual("d:/ymir work/ui/public/xlarge_button_02.sub")
self.CloseButton.SetDownVisual("d:/ymir work/ui/public/xlarge_button_03.sub")
self.CloseButton.SetWindowHorizontalAlignCenter()
self.CloseButton.SetWindowVerticalAlignCenter()
self.CloseButton.SetPosition(0, 190)
self.CloseButton.SetText("Inchide")
self.CloseButton.SetEvent(ui.__mem_func__(self.Close))
self.CloseButton.Hide()
def SelectReward(self, index):
for x in xrange(3):
self.CardButtons[x].Hide()
self.SelectedID = index
self.Selected = True
self.ShowOtherButton.Show()
self.CloseButton.Show()
net.SendChatPacket("/get_card_reward " + str(index))
def ShowElements(self):
for x in xrange(3):
self.BackgroundCards[x].Show()
self.CardButtons[x].Show()
def AddItem(self, itemVnum):
if self.ItemIndex < 3:
self.ItemImages[self.ItemIndex].LoadItem(int(itemVnum))
self.ItemIndex += 1
def OtherRewards(self):
self.ShowOther = True
def ResetWindow(self):
self.WindowPhase = 0
self.BackgroundAlpha = 0.0
self.ImagesAlpha = 0.0
self.CoverAlpha = [1.0, 1.0, 1.0]
self.Selected = False
self.SelectedID = 0
self.ItemIndex = 0
self.ShowOther = False
self.ShowOtherButton.Hide()
self.CloseButton.Hide()
self.SetColor(grp.GenerateColor(0.0, 0.0, 0.0, self.BackgroundAlpha))
for x in xrange(3):
self.BackgroundCards[x].Hide()
self.CoverCards[x].SetAlpha(0.0)
self.CardButtons[x].Hide()
self.CoverCards[x].Show()
def OnUpdate(self):
if self.WindowPhase == PHASE_OPENING:
if self.BackgroundAlpha < 0.6:
self.BackgroundAlpha += 0.03
self.SetColor(grp.GenerateColor(0.0, 0.0, 0.0, self.BackgroundAlpha))
if self.ImagesAlpha < 1.0:
self.ImagesAlpha += 0.04
for x in xrange(3):
self.CoverCards[x].SetAlpha(self.ImagesAlpha)
else:
self.WindowPhase = PHASE_OPEN
self.ShowElements()
if self.ShowOther:
for x in xrange(3):
if self.CoverAlpha[x] > 0.0:
self.CoverAlpha[x] -= 0.05
self.CoverCards[x].SetAlpha(self.CoverAlpha[x])
else:
self.CoverCards[x].Hide()
if self.Selected:
if self.CoverAlpha[self.SelectedID] > 0.0:
self.CoverAlpha[self.SelectedID] -= 0.05
self.CoverCards[self.SelectedID].SetAlpha(self.CoverAlpha[self.SelectedID])
else:
self.CoverCards[self.SelectedID].Hide()
def Open(self):
self.ResetWindow()
self.WindowPhase = PHASE_OPENING
self.Show()
def Close(self):
self.ResetWindow()
self.Hide()