import ui, wndMgr, grp, chat, net
class TeleportMap(ui.Bar):
def __init__(self):
ui.Bar.__init__(self, "TOP_MOST")
self.warpButtons = []
self.bgColor = grp.GenerateColor(0.0, 0.0, 0.0, 0.0)
self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
self.SetColor(self.bgColor)
self.mapBG = ui.ExpandedImageBox()
self.mapBG.SetParent(self)
self.mapBG.LoadImage("interface/mapa_teleportacji/mapa_bg.png")
self.mapBG.SetAlpha(0.0)
self.mapBG.SetWindowHorizontalAlignCenter()
self.mapBG.SetWindowVerticalAlignCenter()
self.mapBG.Show()
self.ShinsooM1 = WarpButton(self.mapBG, self, 180, 314, "interface/mapa_teleportacji/m1_01.png", "interface/mapa_teleportacji/m1_02.png")
self.ShinsooM1.SetEvent(0)
self.ShinsooM2 = WarpButton(self.mapBG, self, 211, 307, "interface/mapa_teleportacji/m2_01.png", "interface/mapa_teleportacji/m2_02.png")
self.ShinsooM2.SetEvent(1)
self.ShinsooM3 = WarpButton(self.mapBG, self, 244, 300, "interface/mapa_teleportacji/m3_01.png", "interface/mapa_teleportacji/m3_02.png")
self.ShinsooM3.SetEvent(2)
self.JinnoM1 = WarpButton(self.mapBG, self, 548, 113, "interface/mapa_teleportacji/m1_01.png", "interface/mapa_teleportacji/m1_02.png")
self.JinnoM1.SetEvent(3)
self.JinnoM2 = WarpButton(self.mapBG, self, 579, 106, "interface/mapa_teleportacji/m2_01.png", "interface/mapa_teleportacji/m2_02.png")
self.JinnoM2.SetEvent(4)
self.JinnoM3 = WarpButton(self.mapBG, self, 610, 99, "interface/mapa_teleportacji/m3_01.png", "interface/mapa_teleportacji/m3_02.png")
self.JinnoM3.SetEvent(5)
self.PajakiV1 = WarpButton(self.mapBG, self, 339, 143, "interface/mapa_teleportacji/v1_01.png", "interface/mapa_teleportacji/v1_02.png")
self.PajakiV1.SetEvent(6)
self.PajakiV2 = WarpButton(self.mapBG, self, 370, 136, "interface/mapa_teleportacji/v2_01.png", "interface/mapa_teleportacji/v2_02.png")
self.PajakiV2.SetEvent(7)
self.LasDuchow = WarpButton(self.mapBG, self, 291, 210, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
self.LasDuchow.SetEvent(7)
self.CzerwonyLas = WarpButton(self.mapBG, self, 377, 234, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
self.CzerwonyLas.SetEvent(7)
self.GoraSohan = WarpButton(self.mapBG, self, 509, 197, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
self.GoraSohan.SetEvent(7)
self.DolinaOrkow = WarpButton(self.mapBG, self, 619, 232, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
self.DolinaOrkow.SetEvent(7)
self.SwiatyniaHwang = WarpButton(self.mapBG, self, 366, 300, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
self.SwiatyniaHwang.SetEvent(7)
self.OgnistaZiemia = WarpButton(self.mapBG, self, 470, 273, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
self.OgnistaZiemia.SetEvent(7)
self.KrainaGigantow = WarpButton(self.mapBG, self, 295, 362, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
self.KrainaGigantow.SetEvent(7)
self.Pustynia = WarpButton(self.mapBG, self, 472, 348, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
self.Pustynia.SetEvent(7)
self.GrotaWyg = WarpButton(self.mapBG, self, 435, 403, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
self.GrotaWyg.SetEvent(7)
self.warpButtons.append(self.ShinsooM1)
self.warpButtons.append(self.ShinsooM2)
self.warpButtons.append(self.ShinsooM3)
self.warpButtons.append(self.JinnoM1)
self.warpButtons.append(self.JinnoM2)
self.warpButtons.append(self.JinnoM3)
self.warpButtons.append(self.PajakiV1)
self.warpButtons.append(self.PajakiV2)
self.warpButtons.append(self.LasDuchow)
self.warpButtons.append(self.CzerwonyLas)
self.warpButtons.append(self.GoraSohan)
self.warpButtons.append(self.DolinaOrkow)
self.warpButtons.append(self.SwiatyniaHwang)
self.warpButtons.append(self.OgnistaZiemia)
self.warpButtons.append(self.KrainaGigantow)
self.warpButtons.append(self.Pustynia)
self.warpButtons.append(self.GrotaWyg)
def __del__(self):
ui.Bar.__del__(self)
def Open(self):
self.openAnimation = 1
self.Show()
def OnUpdate(self):
if self.openAnimation:
if self.mapBG.GetAlpha() < 1.0:
bgAlpha = self.mapBG.GetAlpha() / 1.5
bgColor = grp.GenerateColor(0.0, 0.0, 0.0, bgAlpha)
self.mapBG.SetAlpha(self.mapBG.GetAlpha() + 0.04)
self.SetColor(bgColor)
else:
self.openAnimation = 0
for x in xrange(len(self.warpButtons)):
self.warpButtons[x].Update()
def Close(self):
self.bgColor = grp.GenerateColor(0.0, 0.0, 0.0, 0.0)
self.mapBG.SetAlpha(0.0)
self.Hide()
def OnPressEscapeKey(self):
self.Close()
def Teleportuj(self, arg):
net.SendChatPacket("/teleport {}".format(arg))
# chat.AppendChat(chat.CHAT_TYPE_INFO, "Teleportacja do: {}".format(arg))
class WarpButton(ui.ExpandedImageBox):
def __init__(self, parent, globalParent, x, y, baseImage, hoverImage):
ui.ExpandedImageBox.__init__(self)
self.func = globalParent
self.animacja = 0
self.baseImage = baseImage
self.hoverImage = hoverImage
self.mapa = -1
self.SetParent(parent)
self.SetPosition(x, y)
self.LoadImage(baseImage)
self.Show()
self.cover = ui.ExpandedImageBox()
self.cover.AddFlag("not_pick")
self.cover.SetParent(self)
self.cover.LoadImage(hoverImage)
self.cover.SetAlpha(0.0)
self.cover.Show()
def __del__(self):
ui.ExpandedImageBox.__del__(self)
def Update(self):
if self.IsIn():
self.animacja = 1
#self.LoadImage(self.hoverImage)
else:
#self.LoadImage(self.baseImage)
self.animacja = 0
alpha = self.cover.GetAlpha()
if self.animacja:
if alpha < 1.0:
self.cover.SetAlpha(alpha+0.1)
else:
if alpha > 0.0:
self.cover.SetAlpha(alpha-0.1)
def SetEvent(self, mapa):
self.mapa = mapa
def OnMouseLeftButtonUp(self):
self.func.Teleportuj(self.mapa)