GameEnv API

Версия 0.1

Warning

Это черновой вариант.

Содержание

Классы

GameEnvironment

Класс для GE (игровых окружений). Должен быть унаследвон от класса GameEnvironment и реализовать все его абстрактные методы. Должен реализовывать следующие публичные методы:

java.awt.Component getVisualComponent()

// зарегистрировать нужные функции в Interpreter'е
void initInterpreter(Interpreter interpreter)

// перезагрузить начальное состояние
void resetState()

// XXX загрузка/сохранение состояния
void loadFromXML(org.w3c.dom.Element element)
org.w3c.dom.Element convertToXML();

Для работы с callback'ами предназначен защищенный метод:

void sendCallback(String name, Object arg)

Например что-бы установить строку состояния у DE, нужно вызвать:

sendCallback("STATUS_STRING", "New status message.");

Что-бы DE поняла, что GE поддерживает тот или иной callback, нужно переопределить метод canHandleCallback, что-бы он возвращал true для поддерживаемых callback'ов.

Для анимации определен enum AnimationSpeed:

  • DISABLED
  • VFAST
  • FAST
  • NORMAL
  • SLOW

Поддерживаемые Callback

"STATUS_STRING":
аргумент Object arg имеет реальный тип String. Данный callback дает возможность отображать в статусной строке DE различную информацию. GE должен вызывать sendCallback("STATUS_STRING", "...") каждый раз, когда нужно обновить статусную строку DE.

Note

Возможно вместо левых Callback нужно использовать... что-то другое.

Интерфейсы

Callback

Интерфейс для обеспечения обратной связи с GE. Объект интерфейса должен реализовать один метод:

void invoke(GameEnvironment ge, String name, Object arg)

Данный метод вызывается всякий раз, когда GE хочет передать в DE некоторую информацию.