package types

import "context"

// ИБот -- серверный бот с реальным состоянием
type ИБот interface {
	// Имя -- возвращает им бота
	Имя() string
	// Пароль -- возвращает пароль бота
	Пароль() string
	// Ангар -- возвращает ангар бота
	Ангар() ИАнгар
	// Танк -- возврщает параметры танка
	Танк() ИТанк
	// Сеть -- возвращает объект сети
	Сеть() ИБотСеть
	// Пуск -- запускает бота в работу
	Пуск() error
	// АвтоИграУст -- устанавливает признак автоматического начала игры
	АвтоИграУст()
	// АвтоИграСброс -- сбрасывает признак автоматического начала игры
	АвтоИграСброс()
	// АвтоИграЕсли -- возвращает признак автоматического начала игры
	АвтоИграЕсли() bool
	// ЕслиПуск -- признак, что бот работает
	ЕслиПуск() bool
	// Сервер -- возвращает ссылку на объект сервера
	Сервер() ИСервер
	// Кнт -- возвращает контекст бота
	Кнт() context.Context
	// Закончить -- отменяет контекст бота
	Закончить()
}
