Files
Ragon/Game/Source/Modes/ExamplePlugin.cs
T
2022-05-08 10:11:50 +04:00

70 lines
1.5 KiB
C#
Executable File

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<TestEvent>(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");
}
}
}