Обязательные к реализации члены класса BotPanel. OsEngine.

В классе BotPanel имеется ряд абстрактных членов, которые необходимо реализовать в классах наследниках. Рассмотрим на примере. Создадим класс робота и установим BotPanel в качестве родительского:

internal class Absorption : BotPanel
{
}

Программа будет ругаться на то, что наш класс не реализует абстрактные члены. При наведении на имя класса, visual studio предложит реализовать их:

Рис. 1. Подсказки от visual studio.

Рис. 2. Генерация методов при помощи visual studio.

Студия продолжит ругаться, потому что базовый класс имеет конструктор с параметрами, поэтому проделываем то же действие и жмем «сгенерировать конструктор»:

Рис. 3. Генерация конструктора при помощи visual studio.

Мы видим, что класс каждого робота должен принимать два параметра, это уникальное имя робота, задаваемое пользователем при создании и тип программы, в которой создается экземпляр бота.

Так же BotPanel требует реализовать методы:

1. GetNameStrategyType() – как правило возвращает строку с названием класса робота.

2. ShowIndividualSettingsDialog()  - обычно содержит логику для вызова окна с настройками для бота. Фактически здесь можно реализовать любой функционал, связанный с конфигурированием алгоритма.

Создадим окно настроек для нашего робота и назовем его AbsorptionUi:

Рис. 4. Создание окна настроек для стратегии.

Теперь мы сможем использовать это окно в методе ShowIndividualSettingsDialog:

В итоге получаем следующий код:

Рис. 5. Итог кодогенерации программой.

14:14
134
FAQ

Комментарии

Нет комментариев. Ваш будет первым!