Files
DanhengServer-OpenSource/GameServer/Plugin/Event/PluginEvent.cs
2024-06-01 22:36:32 +08:00

71 lines
2.3 KiB
C#

using EggLink.DanhengServer.Game.Player;
using EggLink.DanhengServer.Game.Scene.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EggLink.DanhengServer.Plugin.Event
{
public static class PluginEvent
{
#region Player
public delegate void OnPlayerHeartBeatHandler(PlayerInstance player);
public delegate void OnPlayerLoginHandler(PlayerInstance player);
public delegate void OnPlayerLogoutHandler(PlayerInstance player);
public delegate void OnPlayerFinishSubMissionHandler(PlayerInstance player, int missionId);
public delegate void OnPlayerFinishMainMissionHandler(PlayerInstance player, int missionId);
public delegate void OnPlayerInteractHandler(PlayerInstance player, EntityProp prop);
#endregion
#region Common
#endregion
#region Event
public static event OnPlayerHeartBeatHandler? OnPlayerHeartBeat;
public static event OnPlayerLoginHandler? OnPlayerLogin;
public static event OnPlayerLogoutHandler? OnPlayerLogout;
public static event OnPlayerFinishSubMissionHandler? OnPlayerFinishSubMission;
public static event OnPlayerFinishMainMissionHandler? OnPlayerFinishMainMission;
public static event OnPlayerInteractHandler? OnPlayerInteract;
#endregion
public static void InvokeOnPlayerHeartBeat(PlayerInstance player)
{
OnPlayerHeartBeat?.Invoke(player);
}
public static void InvokeOnPlayerLogin(PlayerInstance player)
{
OnPlayerLogin?.Invoke(player);
}
public static void InvokeOnPlayerLogout(PlayerInstance player)
{
OnPlayerLogout?.Invoke(player);
}
public static void InvokeOnPlayerFinishSubMission(PlayerInstance player, int missionId)
{
OnPlayerFinishSubMission?.Invoke(player, missionId);
}
public static void InvokeOnPlayerFinishMainMission(PlayerInstance player, int missionId)
{
OnPlayerFinishMainMission?.Invoke(player, missionId);
}
public static void InvokeOnPlayerInteract(PlayerInstance player, EntityProp prop)
{
OnPlayerInteract?.Invoke(player, prop);
}
}
}