namespace ET.Server
{
    [MessageHandler(SceneType.Game)]
    public class BattleEventHandler : AMHandler<BattleEventPushToServer>
    {
        protected override async ETTask Run(Session session, BattleEventPushToServer message)
        {
            //Log.Debug("to transfer client battle msg");

            SessionPlayerComponent component = session.GetComponent<SessionPlayerComponent>();
            //message.data
            FastStreamComponent.Instance.SendData(component.PlayerId.ToString(), message.data);

            await ETTask.CompletedTask;
        }
    }

    [MessageHandler(SceneType.Game)]
    public class BattleClientReadyHandler : AMHandler<BattleClientReady>
    {
        protected override async ETTask Run(Session session, BattleClientReady message)
        {
            Scene scene = session.DomainScene();
            scene.GetComponent<ObjectWait>().Notify(new Wait_PlayerReady());

            WNPlayer player = session.GetComponent<SessionPlayerComponent>().GetMyPlayer();
            if (player != null)
            {
                player.OnReady();
            }
            if (player.Map != null)
            {
                player.Map.OnReady(player);
            }
            await ETTask.CompletedTask;
        }
    }
}