// package stat_resurs -- статистика ресурсов
package stat_resurs

import (
	"fmt"
	"wartank/pkg/types"
	"wartank/server/serv_bots/warbot/angar/fuel"
	"wartank/server/serv_bots/warbot/stat_tank/static_param"
)

// СтатРесурсы -- статистика ресурсов
type СтатРесурсы struct {
	золото       types.ИСтатПарам
	сереброВсего types.ИСтатПарам
	топливо      *fuel.Топливо
}

// НовСтатРесурсы -- новая статистика ресурсов
func НовСтатРесурсы(ангар types.ИАнгар) *СтатРесурсы {
	сам := &СтатРесурсы{
		золото:       static_param.НовСтатПарам("gold"),
		сереброВсего: static_param.НовСтатПарам("silver_all"),
	}
	var ош error
	сам.топливо, ош = fuel.НовТопливо(ангар)
	if ош != nil {
		panic(fmt.Errorf("НовСтатРесурсы(): in make *Missions, err=\n\t%w", ош))
	}
	return сам
}

// Топливо -- возвращает топливо
func (сам *СтатРесурсы) Топливо() *fuel.Топливо {
	return сам.топливо
}

// СереброВсего -- возвращает общее количество серебро
func (сам *СтатРесурсы) СереброВсего() types.ИСтатПарам {
	return сам.сереброВсего
}

// Золото -- возвращает количество золотых ресурсов
func (сам *СтатРесурсы) Золото() types.ИСтатПарам {
	return сам.золото
}
