Files
DanhengServer-OpenSource/GameServer/Command/CommandSender.cs
2024-05-18 21:00:37 +08:00

50 lines
1.3 KiB
C#

using EggLink.DanhengServer.Database;
using EggLink.DanhengServer.Database.Account;
using EggLink.DanhengServer.Game.Player;
using EggLink.DanhengServer.Server.Packet.Send.Friend;
using EggLink.DanhengServer.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EggLink.DanhengServer.Command
{
public interface ICommandSender
{
public void SendMsg(string msg);
public bool HasPermission(string permission);
}
public class ConsoleCommandSender(Logger logger) : ICommandSender
{
public void SendMsg(string msg)
{
logger.Info(msg);
}
public bool HasPermission(string permission)
{
return true;
}
}
public class PlayerCommandSender(PlayerInstance player) : ICommandSender
{
public PlayerInstance Player = player;
public void SendMsg(string msg)
{
Player.SendPacket(new PacketRevcMsgScNotify(toUid:Player.Uid, fromUid: (uint)ConfigManager.Config.ServerOption.ServerProfile.Uid, msg));
}
public bool HasPermission(string permission)
{
var account = DatabaseHelper.Instance!.GetInstance<AccountData>(Player.Uid)!;
return account.Permissions!.Contains(permission);
}
}
}