namespace ET.Server
{
public static class PlayerFactory
{
///
/// 创建玩家实体
///
///
///
///
public static async ETTask CreatPlayer(Session session, PlayerInfo playerInfo)
{
WNPlayer player = session.DomainScene().GetComponent()
.AddChild(session, playerInfo);
// 绑定sessionId
player.GameSessionActorId = session.InstanceId;
player.Session = session;
player.BasicProp = CharacterConfigCategory.Instance.Get(playerInfo.Pro);
player.BornType = (int)BORN_TYPE.NORMAL;
player.EnterState = (int)ENTER_STATE.online;
// 玩家基础数据组件
player.AddComponent(playerInfo, player);
// 玩家临时数据组件
player.AddComponent(player).Init();
// 玩家技能组件
player.AddComponent(player).Init();
// 玩家货币组件
player.AddComponent(player).Init();
// 玩家属性组件
player.AddComponent(player).Init();
await ETTask.CompletedTask;
return player;
}
}
}