using CommonAI.Zone.Instance;
using CommonLang;
using CommonLang.Protocol;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using XmdsCommonServer.Message;
using XmdsCommonServer.Plugin.Units;
using XmdsServerNode.Node;
namespace XmdsServerNode.CheatingDeath
{
public static class CheatingDeathManager
{
public static void Init(Properties cfg_prop)
{
CheatingDeathConfig.Load(cfg_prop);
}
private const string MOVE_SPEED_CHECKER_KEY = "__MoveSpeedChecker";
///
/// 玩家进入场景时,绑定反作弊
///
///
public static void OnPlayerEnter(InstancePlayer player)
{
if (CheatingDeathConfig.ENABLE_MOVE_SPEED_CHECKER)
{
var mc = player.GetAttributeAs(MOVE_SPEED_CHECKER_KEY);
if (mc == null)
{
mc = new MoveSpeedChecker(player);
player.SetAttribute(MOVE_SPEED_CHECKER_KEY, mc);
}
}
}
///
/// 发送单位异常到服务器
///
///
///
public static void SendPlayerException(InstancePlayer actor, string reason)
{
var exp = new PlayerExceptionEventB2R();
exp.playerId = actor.PlayerUUID;
exp.instanceId = actor.Parent.UUID;
exp.reason = reason;
actor.queueEvent(exp);
}
}
}