tank.go 833 B

123456789101112131415161718192021222324252627282930313233343536
  1. package tank
  2. import (
  3. "fmt"
  4. "wartank/pkg/types"
  5. "wartank/server/serv_bots/warbot/tank/tankstat"
  6. )
  7. /*
  8. Исходник предоставляет тип со свойствами танка.
  9. Глобальный объект.
  10. */
  11. // Tank -- описатель танка
  12. type Tank struct {
  13. app types.IServer
  14. statTank types.ITankStat // Глобальная статистика танка и сервера
  15. }
  16. // NewTank -- возвращает новый *Tank
  17. func NewTank(app types.IServer) (*Tank, error) {
  18. if app == nil {
  19. return nil, fmt.Errorf("NewTank(): IApp is nil")
  20. }
  21. sf := &Tank{
  22. app: app,
  23. statTank: tankstat.NewTankStat(),
  24. }
  25. return sf, nil
  26. }
  27. // TankStat -- возвращает объект статистики танка
  28. func (sf *Tank) TankStat() types.ITankStat {
  29. return sf.statTank
  30. }