Skip to content

event handler

mtanksl edited this page Dec 11, 2023 · 4 revisions

Introduction

Commands may generate events, which can be listened by Event Handlers.

Example

Let's listen to the PlayerLoginEventArgs, which occurs when any player logs in the game.

public class PlayerLoginScripts : Script
{
    private Guid playerLogin;

    public override void Start()
    {
        playerLogin = Context.Server.EventHandlers.Subscribe<PlayerLoginEventArgs>( (context, e) =>
        {
            Context.Server.Logger.WriteLine(e.Player.Name + " login.", LogLevel.Information);

            return Promise.Completed;
        } );
    }

    public override void Stop()
    {
        Context.Server.EventHandlers.Unsubscribe<PlayerLoginEventArgs>(playerLogin);
    }
}