using CommonAI.Zone.Instance;
using XmdsServerNode.Node.Interface;
using XmdsServerNode.Node.R2bNotify;
using static CommonAIServer.Node.ZoneNode;

namespace XmdsServerEdgeJS.Zone
{
    public class XmdsServerProxy : IServerProxy
    {

        public XmdsServerProxy()
        {
        }

        public void SendToBattleServer(InstanceZone zone, R2BNotifyMessage msg)
        {
            msg.OnHandle(zone);
        }


        public void SendToGameServer(string playerUUID, string eventType, object msg)
        {
            XmdsPlayer player = ZoneService.Instance.getPlayer(playerUUID);
            if(player != null)
            {
                player.Node.SendToGameServer(eventType, msg);
            }
            //ZoneService.Instance.sendToGameServer(eventType, msg);
        }

		public void SendMsgToPlayer(string playerUUID, CommonLang.Protocol.IMessage msg)
		{
			XmdsPlayer player = ZoneService.Instance.getPlayer(playerUUID);
			if (player != null)
			{
				PlayerClient mClient = player.Node.GetPlayerClient(playerUUID);
				if(mClient != null)
				{
					mClient.Send(msg);
				}
			}
			//ZoneService.Instance.sendToGameServer(eventType, msg);
		}

		public void Dispose()
        {

        }
    }
}