|
|
@@ -19,30 +19,33 @@ import (
|
|
|
// WinMain -- главное окно приложения
|
|
|
type WinMain struct {
|
|
|
fyne.Window
|
|
|
- serv types.IServer
|
|
|
- app fyne.App
|
|
|
- botLogin string
|
|
|
- botPass string
|
|
|
- boxLeft *fyne.Container
|
|
|
- tabBot *container.AppTabs // Просмотр параметров бота
|
|
|
- entLogin *widget.Label // Логин текущего бота
|
|
|
- entPass *widget.Entry // Пароль текущего бота
|
|
|
- checkAutoGame *widget.Check // Автоматически играть при старте
|
|
|
- lblFuel *widget.Label // Топливо бота
|
|
|
- lblGold *widget.Label // Золото бота
|
|
|
- lblSilver *widget.Label // Серебро
|
|
|
- lblGlory *widget.Label // Количество славы
|
|
|
- lblSpace *widget.Label // Разделитель к базе
|
|
|
- lblRuda *widget.Label // Количество руды
|
|
|
- lblFerrum *widget.Label // Количество железа
|
|
|
- lblSteel *widget.Label // Количество стали
|
|
|
- lblPlumbum *widget.Label // Количество свинца
|
|
|
- frmStatLeft *widget.Form // Левая колонка статистики
|
|
|
- frmStatRight *widget.Form // Правая колонка статистики
|
|
|
- lblAtack *widget.Label // Сила атаки
|
|
|
- lblArmor *widget.Label // Броня бота
|
|
|
- lblFyne *widget.Label // Точность бота
|
|
|
- lblHard *widget.Label // Прочность танка
|
|
|
+ serv types.IServer
|
|
|
+ app fyne.App
|
|
|
+ botLogin string
|
|
|
+ botPass string
|
|
|
+ boxLeft *fyne.Container
|
|
|
+ tabBot *container.AppTabs // Просмотр параметров бота
|
|
|
+ entLogin *widget.Label // Логин текущего бота
|
|
|
+ entPass *widget.Entry // Пароль текущего бота
|
|
|
+ checkAutoGame *widget.Check // Автоматически играть при старте
|
|
|
+ lblFuel *widget.Label // Топливо бота
|
|
|
+ lblGold *widget.Label // Золото бота
|
|
|
+ lblSilver *widget.Label // Серебро
|
|
|
+ lblGlory *widget.Label // Количество славы
|
|
|
+ lblSpace *widget.Label // Разделитель к базе
|
|
|
+ lblRuda *widget.Label // Количество руды
|
|
|
+ lblFerrum *widget.Label // Количество железа
|
|
|
+ lblSteel *widget.Label // Количество стали
|
|
|
+ lblPlumbum *widget.Label // Количество свинца
|
|
|
+ frmStatLeft *widget.Form // Левая колонка статистики
|
|
|
+ frmStatRight *widget.Form // Правая колонка статистики
|
|
|
+ lblAtack *widget.Label // Сила атаки
|
|
|
+ lblArmor *widget.Label // Броня бота
|
|
|
+ lblFyne *widget.Label // Точность бота
|
|
|
+ lblHard *widget.Label // Прочность танка
|
|
|
+ lblPower *widget.Label // Всего очков танка
|
|
|
+ lblForce *widget.Label // Что усилено
|
|
|
+ lblPolygonTime *widget.Label // Время до окончания плигона
|
|
|
}
|
|
|
|
|
|
// NewWinMain -- возвращает новое главное окно
|
|
|
@@ -103,14 +106,28 @@ func NewWinMain(serv types.IServer) (*WinMain, error) {
|
|
|
sf.lblFyne = widget.NewLabel("0")
|
|
|
itemFyne := widget.NewFormItem("Точность", sf.lblFyne)
|
|
|
sf.lblHard = widget.NewLabel("0")
|
|
|
- itemPower := widget.NewFormItem("Прочность", sf.lblHard)
|
|
|
+ itemHard := widget.NewFormItem("Прочность", sf.lblHard)
|
|
|
+ sf.lblPower = widget.NewLabel("0")
|
|
|
+ itemPower := widget.NewFormItem("Мощь", sf.lblPower)
|
|
|
+ sf.lblForce = widget.NewLabel("None")
|
|
|
+ itemForce := widget.NewFormItem("Усилено", sf.lblForce)
|
|
|
|
|
|
- sf.frmStatRight = widget.NewForm(itemAtack, itemArmor, itemFyne, itemPower, itemSpace)
|
|
|
+ sf.frmStatRight = widget.NewForm(itemAtack, itemArmor, itemFyne, itemHard, itemSpace, itemPower, itemForce)
|
|
|
}
|
|
|
|
|
|
hStat := container.NewHBox(sf.frmStatLeft, sf.frmStatRight)
|
|
|
tabStat := container.NewTabItem("Статистика", hStat)
|
|
|
- sf.tabBot = container.NewAppTabs(tabLogin, tabStat)
|
|
|
+
|
|
|
+ // Вкладка базы
|
|
|
+ itemPolygon := widget.NewFormItem("Полигон", nil)
|
|
|
+ sf.lblPolygonTime = widget.NewLabel("00:00:00")
|
|
|
+ itemPolygonTime := widget.NewFormItem("Время", sf.lblPolygonTime)
|
|
|
+ frmPolygon := widget.NewForm(itemPolygon, itemPolygonTime)
|
|
|
+
|
|
|
+ vBase`
|
|
|
+ ` := container.NewVBox(frmPolygon)
|
|
|
+ tabBase := container.NewTabItem("База", vBase)
|
|
|
+ sf.tabBot = container.NewAppTabs(tabLogin, tabStat, tabBase)
|
|
|
|
|
|
sf.boxLeft = container.NewVBox(text1)
|
|
|
|
|
|
@@ -148,6 +165,11 @@ func (sf *WinMain) resetStat() {
|
|
|
sf.lblArmor.SetText("0")
|
|
|
sf.lblFyne.SetText("0")
|
|
|
sf.lblHard.SetText("0")
|
|
|
+ sf.lblPower.SetText("0")
|
|
|
+ sf.lblForce.SetText("None")
|
|
|
+ }
|
|
|
+ { // Вкладка базы
|
|
|
+ sf.lblPolygonTime.SetText("00:00:00")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -205,6 +227,17 @@ func (sf *WinMain) showStat() {
|
|
|
sf.lblFyne.Refresh()
|
|
|
sf.lblHard.Text = fmt.Sprint(bot.Tank().TankStat().Hard().Get())
|
|
|
sf.lblHard.Refresh()
|
|
|
+ sf.lblPower.Text = fmt.Sprint(bot.Tank().TankStat().Power().Get())
|
|
|
+ sf.lblPower.Refresh()
|
|
|
+ strForce := fmt.Sprintf("%v (+%v)", bot.Tank().TankStat().Force().Name(), bot.Tank().TankStat().Force().Get())
|
|
|
+ sf.lblForce.SetText(strForce)
|
|
|
+ }
|
|
|
+ { // Вкладка базы
|
|
|
+ if bot.Angar().Base().Polygon() == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ polyTime := bot.Angar().Base().Polygon().CountDown().String()
|
|
|
+ sf.lblPolygonTime.SetText(polyTime)
|
|
|
}
|
|
|
}
|
|
|
}
|