client/bin/pack/root/uiplayergauge.py

61 lines
1.1 KiB
Python
Raw Normal View History

import ui
import player
import chr
import textTail
class PlayerGauge(ui.Gauge):
def __init__(self, parent):
ui.Gauge.__init__(self)
self.SetParent(parent)
self.AddFlag("not_pick")
self.MakeGauge(100, "red")
self.curHP = 0
self.maxHP = 0
2023-07-21 21:55:58 +03:00
self.showAlways = False
def __del__(self):
ui.Gauge.__del__(self)
def Hide(self):
self.SetPosition(-100, -100)
ui.Gauge.Hide(self)
def OnUpdate(self):
playerIndex = player.GetMainCharacterIndex()
(x, y, z)=textTail.GetPosition(playerIndex)
isChat = textTail.IsChat(playerIndex)
ui.Gauge.SetPosition(self, int(x - self.GetWidth()/2), int(y + 5) + isChat*17)
def RefreshGauge(self):
self.curHP = player.GetStatus(player.HP)
self.maxHP = player.GetStatus(player.MAX_HP)
self.SetPercentage(self.curHP, self.maxHP)
if self.showAlways:
self.Show()
else:
if self.IsShow():
if self.curHP > self.maxHP / 2:
self.Hide()
else:
if self.curHP < self.maxHP / 2:
self.OnUpdate()
self.Show()
def EnableShowAlways(self):
2023-07-21 21:55:58 +03:00
self.showAlways = True
self.RefreshGauge()
def DisableShowAlways(self):
2023-07-21 21:55:58 +03:00
self.showAlways = False
self.RefreshGauge()