|
@@ -169,22 +169,42 @@ namespace ET.Server
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /** 客户端资源加载完成通知 给客户端推送的数据要在这里 **/
|
|
|
+ public static void OnReady(this WNPlayer self)
|
|
|
+ {
|
|
|
+ self.OnEndEnterScene();
|
|
|
+
|
|
|
+ // 登录第一次进场景处理,此次登陆登出期间只处理一次
|
|
|
+ if (self.readyFirst)
|
|
|
+ {
|
|
|
+ self.readyFirst = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/** 玩家登录事件 **/
|
|
|
public static void OnLogin(this WNPlayer self)
|
|
|
{
|
|
|
+ self.readyFirst = true;
|
|
|
self.DomainScene().GetComponent<GamePlayerComponent>().Add(self.GetId(), self);
|
|
|
}
|
|
|
|
|
|
/** 向客户端推送角色相关数据 **/
|
|
|
public static void OnEndEnterScene(this WNPlayer self)
|
|
|
{
|
|
|
+ bool ready = self.GetComponent<PlayerTempDataComponent>().MapData.ready;
|
|
|
+ if (ready)
|
|
|
+ {
|
|
|
+ Log.Warning($"$OnEndEnterScene跳过 : playerId={self.GetId()}, 玩家场景:{self.Map.MapId}, 进入场景:" + (self.Map?.MapId ?? -1));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ self.GetComponent<PlayerTempDataComponent>().MapData.ready = true;
|
|
|
+
|
|
|
self.GetXmdsManager().playerReady(self.GetId().ToString().Trim());
|
|
|
//PKMode设置为All
|
|
|
self.GetXmdsManager().refreshPlayerPKMode(self.GetId().ToString().Trim(), false, (int)PkModel.All);
|
|
|
//设置为自动战斗
|
|
|
self.GetXmdsManager().autoBattle(self.Map.Id.ToString().Trim(), self.GetId().ToString().Trim(), true);
|
|
|
-
|
|
|
- // MessageHelper.SendToClient(self, new G2C_EnterSceneReady() { MapId = self.Map.MapId, MapInstanceId = self.Map.Id });
|
|
|
}
|
|
|
|
|
|
/** 场景中角色需求数据 **/
|