package basestat

import (
	// "log"

	"wartank/pkg/components/counttime"
	"wartank/pkg/types"
)

/*
	Статистика по базе
*/

// BaseStat -- статистика по базе
type BaseStat struct {
	app         types.IServer
	poligonTime types.ICountTime // Сколько осталось времени работы полигона
}

// NewBaseStat -- возвращает новый *BaseStat
func NewBaseStat(app types.IServer) *BaseStat {
	sf := &BaseStat{
		app: app,
	}
	sf.poligonTime = counttime.NewCountTime(app)
	go sf.run()
	return sf
}

// Главный цикл ожидания
func (sf *BaseStat) run() {
	for range sf.poligonTime.ChanSig() {

	}
}

// PoligonTime -- сколько  осталось времени работы полигона
func (sf *BaseStat) PoligonTime() types.ICountTime {
	return sf.poligonTime
}

// PoligonUpdate -- обновляет время работы полигона
func (sf *BaseStat) PoligonUpdate(poligonFact string) {
	if err := sf.poligonTime.Parse(poligonFact); err != nil {
		// log._rintf("ERRO BaseStat.PoligonUpdate(): при обновлении времени работы полигона\n\tpoligonFact=%q\terr=%v\n", poligonFact, err)
	}
}
