| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- // package frm_bot_param -- фрейм параметров бота
- package frm_bot_param
- import (
- "time"
- . "gitp78su.ipnodns.ru/svi/kern"
- . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
- tk "modernc.org/tk9.0"
- . "wartank/app/lev0/types"
- // "wartank/desktop/win_add_bot"
- // "wartank/desktop/win_main/frm_status"
- )
- type FrmBotParam struct {
- ctx IKernelCtx
- лблАтака *tk.TLabelWidget
- лблБроня *tk.TLabelWidget
- лблТочность *tk.TLabelWidget
- лблПрочность *tk.TLabelWidget
- лблМощь *tk.TLabelWidget
- лблТопливо *tk.TLabelWidget
- лблЗолото *tk.TLabelWidget
- лблСеребро *tk.TLabelWidget
- }
- func NewFrmBotParam(frmStateBot *tk.TFrameWidget) *FrmBotParam {
- sf := &FrmBotParam{
- ctx: GetKernelCtx(),
- }
- frmBotForce := frmStateBot.Frame(tk.Border(1), tk.Relief(tk.SUNKEN))
- tk.Pack(frmBotForce, tk.Side(tk.LEFT), tk.Fill(tk.FILL_Y))
- лблПараметрыБота := frmBotForce.Label(tk.Txt("Параметры"),
- tk.Background("#888"),
- tk.Border(1),
- tk.Relief(tk.GROOVE),
- )
- tk.Pack(лблПараметрыБота, tk.Side(tk.TOP), tk.Fill(tk.FILL_X))
- sf.лблАтака = frmBotForce.TLabel(tk.Txt("Атака"),
- tk.Border(1),
- tk.Relief(tk.GROOVE),
- )
- tk.Pack(sf.лблАтака, tk.Side(tk.TOP), tk.Fill(tk.FILL_X))
- sf.лблБроня = frmBotForce.TLabel(tk.Txt("Броня"),
- tk.Border(1),
- tk.Relief(tk.GROOVE),
- )
- tk.Pack(sf.лблБроня, tk.Side(tk.TOP), tk.Fill(tk.FILL_X))
- sf.лблТочность = frmBotForce.TLabel(tk.Txt("Точность"),
- tk.Border(1),
- tk.Relief(tk.GROOVE),
- )
- tk.Pack(sf.лблТочность, tk.Side(tk.TOP), tk.Fill(tk.FILL_X))
- sf.лблПрочность = frmBotForce.TLabel(tk.Txt("Прочность"),
- tk.Border(1),
- tk.Relief(tk.GROOVE),
- )
- tk.Pack(sf.лблПрочность, tk.Side(tk.TOP), tk.Fill(tk.FILL_X))
- sf.лблМощь = frmBotForce.TLabel(tk.Txt("Мощь"),
- tk.Border(1),
- tk.Relief(tk.GROOVE),
- )
- tk.Pack(sf.лблМощь, tk.Side(tk.TOP), tk.Fill(tk.FILL_X))
- sf.лблТопливо = frmBotForce.TLabel(tk.Txt("Топливо"),
- tk.Border(1),
- tk.Relief(tk.GROOVE),
- )
- tk.Pack(sf.лблТопливо, tk.Side(tk.TOP), tk.Fill(tk.FILL_X))
- sf.лблЗолото = frmBotForce.TLabel(tk.Txt("Золото"),
- tk.Border(1),
- tk.Relief(tk.GROOVE),
- )
- sf.лблСеребро = frmBotForce.TLabel(tk.Txt("Серебро"),
- tk.Border(1),
- tk.Relief(tk.GROOVE),
- )
- tk.Pack(sf.лблСеребро, tk.Side(tk.TOP), tk.Fill(tk.FILL_X))
- sf.update()
- return sf
- }
- func (sf *FrmBotParam) update() {
- select {
- case <-sf.ctx.Ctx().Done():
- return
- default:
- farm := sf.ctx.Get("ботоФерма").Val().(ИБотоФерма)
- lstBot := farm.ListBot()
- if len(lstBot) > 0 {
- bot := lstBot[0]
- ботСеть := bot.КонтБот()
- ангар := ботСеть.Get("ангар").Val().(ИАренаАнгар)
- { // Стата танка
- стрАтака := bot.Стата().Атака().ЗначСтр()
- sf.лблАтака.Configure(tk.Txt("Атака: " + стрАтака))
- стрБроня := bot.Стата().Броня().ЗначСтр()
- sf.лблБроня.Configure(tk.Txt("Броня: " + стрБроня))
- стрТочность := bot.Стата().Точность().ЗначСтр()
- sf.лблТочность.Configure(tk.Txt("Точность: " + стрТочность))
- стрПрочность := bot.Стата().Прочность().ЗначСтр()
- sf.лблПрочность.Configure(tk.Txt("Прочность: " + стрПрочность))
- стрМощь := bot.Стата().Мощь().ЗначСтр()
- sf.лблМощь.Configure(tk.Txt("Мощь: " + стрМощь))
- стрТопливо := ангар.Топливо().ЗначСтр()
- sf.лблТопливо.Configure(tk.Txt("Топливо: " + стрТопливо))
- стрЗолото := ангар.Золото().ЗначСтр()
- sf.лблЗолото.Configure(tk.Txt("Золото: " + стрЗолото))
- стрСеребро := ангар.Серебро().ЗначСтр()
- sf.лблСеребро.Configure(tk.Txt("Серебро: " + стрСеребро))
- }
- }
- }
- tk.TclAfter(time.Millisecond*250, sf.update)
- }
|