BusEngine.dll

BusEngine.Game.MyPlugin : BusEngine.Plugin (Class)

Класс отвечающий за работу своего плагина. Класс "MyPlugin" должен наследоваться от "BusEngine.Plugin". Название класса "MyPlugin" может быть любым, но индивидуальным в пространстве имён "BusEngine.Game". Пространство имён "BusEngine.Game" также может быть любым. Плагин подключается в файле настроек проекта "*.busproject" или настроек редактора "busengine.busengine".

Ваш код можно выполнить асинхронно (в новом потоке), если в конце названия метода добавить "Async" или модификатор "async".

Методы

(void)BusEngine.Plugin.Initialize()

Метод (переопределяемый) уровня класса запускается во время выполнения "BusEngine.Engine.Initialize()".

(void)BusEngine.Plugin.Initialize(string)

Метод (переопределяемый) уровня класса запускается во время выполнения "BusEngine.Engine.Initialize()" столько раз, сколько плагинов подключено. Первый параметр string строка выводит название файла плагина который сейчас был загружен.

(void)BusEngine.Plugin.Initialize(string, string)

Метод (переопределяемый) уровня класса запускается во время выполнения всех существующих методов во всех подключённых плагинах. Первый параметр string строка выводит название файла плагина который сейчас был загружен, а второй параметр название метода который был запущен в плагине из первого параметра.

(void)BusEngine.Plugin.InitializeCanvas()

Метод (переопределяемый) уровня класса запускается во время выполнения "BusEngine.UI.Canvas.Initialize()".

(void)BusEngine.Plugin.Shutdown()

Метод (переопределяемый) уровня класса запускается во время выполнения остановки BusEngine для уничтожения объектов плагина и освобождения оперативной памяти при остановки BusEngine.

(void)BusEngine.Plugin.OnLevelLoading(string)

Метод (переопределяемый) уровня класса запускается во время начала загрузки игрового уровня "BusEngine.Level". Первый параметр string строка выводит название игрового уровня который сейчас начал загружаться.

(void)BusEngine.Plugin.OnLevelLoaded(string)

Метод (переопределяемый) уровня класса запускается во время завершения загрузки игрового уровня "BusEngine.Level". Первый параметр string строка выводит название игрового уровня который сейчас окончил загружаться.

(void)BusEngine.Plugin.OnGameStart()

Метод (переопределяемый) уровня класса запускается во время начала управления игровым персонажем или начала отсчёта времени игры.

(void)BusEngine.Plugin.OnGameStop()

Метод (переопределяемый) уровня класса запускается во время окончании управления игровым персонажем или окончании отсчёта времени игры.

(void)BusEngine.Plugin.OnGameUpdate()

Метод (переопределяемый) уровня класса запускается во время отрисовки каждого кадра.

(void)BusEngine.Plugin.OnClientConnectionReceived(int)

Метод (переопределяемый) уровня класса запускается во время начала подключения к игровому серверу. Первый параметр int строка выводит числовой id игрока который начал подключаться к серверу.

(void)BusEngine.Plugin.OnClientReadyForGameplay(int)

Метод (переопределяемый) уровня класса запускается во время окончания подключения к игровому серверу. Первый параметр int строка выводит числовой id игрока который окончил подключаться к серверу.

(void)BusEngine.Plugin.OnClientDisconnected(int)

Метод (переопределяемый) уровня класса запускается во время окончания игры в игровом сервере. Первый параметр int строка выводит числовой id игрока который начал отключаться от сервера.

Наверх

Подклассы

Подклассов нет

Константы

Констант нет

Поля

Полей нет

Свойства

Свойств нет

События

Событий нет

Пример файла Program.cs

В коде отражены все методы своего плагина с названием "MyPlugin".

  1. /** API BusEngine.Game - пользовательский код */
  2. namespace BusEngine.Game {
  3.     /** API BusEngine.Plugin */
  4.     public class MyPlugin : BusEngine.Plugin {
  5.         // при запуске BusEngine до создания формы
  6.         public override void Initialize() {
  7.             BusEngine.Log.Info("MyPlugin Initialize");
  8.         }
  9.         // после загрузки определённого плагина
  10.         public override void Initialize(string plugin) {
  11.             BusEngine.Log.Info("MyPlugin Initialize: {0}", plugin);
  12.         }
  13.         // после загрузки определённого плагина и метода
  14.         public override void Initialize(string plugin, string state) {
  15.             BusEngine.Log.Info("MyPlugin Initialize: {0}, {1}", plugin, state);
  16.         }
  17.         // при запуске BusEngine после создания формы Canvas
  18.         public override void InitializeCanvas() {
  19.             BusEngine.Log.Info("MyPlugin InitializeCanvas");
  20.         }
  21.         // перед закрытием BusEngine
  22.         public override void Shutdown() {
  23.             BusEngine.Log.Info("MyPlugin Shutdown");
  24.         }
  25.         // перед загрузкой игрового уровня
  26.         public override void OnLevelLoading(string level) {
  27.             BusEngine.Log.Info("MyPlugin OnLevelLoading: {0}", level);
  28.         }
  29.         // после загрузки игрового уровня
  30.         public override void OnLevelLoaded(string level) {
  31.             BusEngine.Log.Info("MyPlugin OnLevelLoaded: {0}", level);
  32.         }
  33.         // когда игрок может управлять главным героем - время игры идёт
  34.         public override void OnGameStart() {
  35.             BusEngine.Log.Info("MyPlugin OnGameStart");
  36.         }
  37.         // когда время остановлено - пауза или закрытие уровня
  38.         public override void OnGameStop() {
  39.             BusEngine.Log.Info("MyPlugin OnGameStop");
  40.         }
  41.         // вызывается при отрисовки каждого кадра
  42.         public override void OnGameUpdate() {
  43.             BusEngine.Log.Info("MyPlugin OnGameUpdate");
  44.         }
  45.         // когда игрок начинает подключаться к серверу
  46.         public override void OnClientConnectionReceived(int channelId) {
  47.             BusEngine.Log.Info("MyPlugin OnClientConnectionReceived: {0}", channelId);
  48.         }
  49.         // когда игрок подключился к серверу
  50.         public override void OnClientReadyForGameplay(int channelId) {
  51.             BusEngine.Log.Info("MyPlugin OnClientReadyForGameplay: {0}", channelId);
  52.         }
  53.         // когда игрока выкинуло из сервера - обрыв связи с сервером или он отключился сам
  54.         public override void OnClientDisconnected(int channelId) {
  55.             BusEngine.Log.Info("MyPlugin OnClientDisconnected: {0}", channelId);
  56.         }
  57.     }
  58.     /** API BusEngine.Plugin */
  59. }
  60. /** API BusEngine.Game - пользовательский код */
Наверх