// package frm_bot_param -- фрейм параметров бота package frm_bot_param import ( // "time" "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 // стрАтака string } 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.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.Стата().Атака().ЗначСтр() sf.лблАтака.Configure(tk.Txt("Атака: " + стрАтака)) стрБроня := bot.Стата().Броня().ЗначСтр() sf.лблБроня.Configure(tk.Txt("Броня: " + стрБроня)) стрТочность := bot.Стата().Точность().ЗначСтр() sf.лблТочность.Configure(tk.Txt("Точность: " + стрТочность)) стрПрочность := bot.Стата().Прочность().ЗначСтр() sf.лблПрочность.Configure(tk.Txt("Прочность: " + стрПрочность)) стрМощь := bot.Стата().Мощь().ЗначСтр() sf.лблМощь.Configure(tk.Txt("Мощь: " + стрМощь)) } } tk.TclAfter(time.Millisecond*250, sf.update) }