using System.Runtime.InteropServices; using Game.Source.Events; using NLog; using Ragon.Core; namespace Game.Source { public class ExamplePlugin: PluginBase { public override void OnStart() { _logger.Info("Plugin started"); /*Subscribe(123, OnTestEvent); */ // Subscribe(500, OnTestEvent2);; } private void OnTestEvent2(Player obj) { _logger.Info("Event without data"); } public override void OnStop() { _logger.Info("Plugin stopped"); } private void OnTestEvent(Player player, TestEvent myEvent) { _logger.Info("Data " + myEvent.TestData); } public override void OnPlayerJoined(Player player) { _logger.Info("Player joined " + player.PlayerName); SendEvent(player, 123, new TestEvent() { TestData = "asdf" }); SendEvent(123, new TestEvent() { TestData = "Hello!", }); } public override void OnPlayerLeaved(Player player) { _logger.Info("Player leaved " + player.PlayerName); } public override void OnEntityCreated(Player creator, Entity entity) { // entity. // Subscribe(entity, 500, OnEntityTestEvent); } public override void OnEntityDestroyed(Player destoyer, Entity entity) { } private void OnEntityTestEvent(Player player, Entity entity) { _logger.Info("Entity event with empty payload"); } } }