|
@@ -3,7 +3,7 @@
|
|
|
namespace ET.Server
|
|
|
{
|
|
|
/// <summary>
|
|
|
- /// 向场景增加玩家
|
|
|
+ /// 向场景增加单位
|
|
|
/// </summary>
|
|
|
[MessageHandler(SceneType.Game)]
|
|
|
public class C2G_AddUnitsToMapHandler: AMRpcHandler<C2G_AddUnitsToMap, G2C_AddUnitsToMap>
|
|
@@ -37,47 +37,21 @@ namespace ET.Server
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- // Struct.MonsterUnit unit = new Struct.MonsterUnit();
|
|
|
- // unit.id = request.UnitId;
|
|
|
- // unit.force = request.Force;
|
|
|
- // if (!string.IsNullOrEmpty(request.Flag))
|
|
|
- // {
|
|
|
- // unit.flag = request.Flag;
|
|
|
- // }
|
|
|
- // else
|
|
|
- // {
|
|
|
- // unit.x = request.X;
|
|
|
- // unit.y = request.Y;
|
|
|
- // }
|
|
|
- // unit.autoGuard = true;
|
|
|
- //
|
|
|
- // await player.Map.AddUnits(unit, false);
|
|
|
-
|
|
|
- // 预先创建数据
|
|
|
- Scene scene = session.DomainScene();
|
|
|
- long _id = IdGenerater.Instance.GenerateUnitId(scene.DomainZone());
|
|
|
- PlayerInfo playerInfo = new PlayerInfo();
|
|
|
- playerInfo.Id = _id;
|
|
|
- playerInfo.UserId = session.GetComponent<SessionPlayerComponent>().UserId;
|
|
|
- playerInfo.PlayerType = 1;
|
|
|
- playerInfo.Name = "玩家-" + _id;
|
|
|
- playerInfo.Sex = 0;
|
|
|
- playerInfo.Pro = (int)PlayerProType.CANG_LANG;
|
|
|
- playerInfo.Level = 1;
|
|
|
- playerInfo.Exp = 0;
|
|
|
-
|
|
|
- WNPlayer unitPlayer = await PlayerFactory.CreatPlayer(session, playerInfo);
|
|
|
-
|
|
|
- if (unitPlayer == null)
|
|
|
+ Struct.MonsterUnit unit = new Struct.MonsterUnit();
|
|
|
+ unit.id = request.UnitId;
|
|
|
+ unit.force = request.Force;
|
|
|
+ if (!string.IsNullOrEmpty(request.Flag))
|
|
|
{
|
|
|
- Log.Debug($"创建单位玩家有误...unitPlayerId={_id}, force={request.Force}");
|
|
|
- response.Error = ErrorCode.ERR_CreateUnitPlayerError;
|
|
|
- reply();
|
|
|
- return;
|
|
|
+ unit.flag = request.Flag;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ unit.x = request.X;
|
|
|
+ unit.y = request.Y;
|
|
|
}
|
|
|
+ unit.autoGuard = true;
|
|
|
|
|
|
- // 进入主播场景
|
|
|
- player.Map.PlayerEnterRequest(unitPlayer);
|
|
|
+ await player.Map.AddUnits(unit, false);
|
|
|
|
|
|
reply();
|
|
|
}
|