package tank

import (
	"fmt"

	"wartank/pkg/types"
	"wartank/server/serv_bots/warbot/tank/tankstat"
)

/*
	Исходник предоставляет тип со свойствами танка.
	Глобальный объект.
*/

// Tank -- описатель танка
type Tank struct {
	app      types.IServer
	statTank types.ITankStat // Глобальная статистика танка и сервера
}

// NewTank -- возвращает новый *Tank
func NewTank(app types.IServer) (*Tank, error) {
	if app == nil {
		return nil, fmt.Errorf("NewTank(): IApp is nil")
	}
	sf := &Tank{
		app:      app,
		statTank: tankstat.NewTankStat(),
	}
	return sf, nil
}

// TankStat -- возвращает объект статистики танка
func (sf *Tank) TankStat() types.ITankStat {
	return sf.statTank
}
