1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System;
- namespace ET.Server
- {
- /// <summary>
- /// 移除场景单位
- /// </summary>
- [MessageHandler(SceneType.Game)]
- public class C2G_RemoveUnitHandler: AMRpcHandler<C2G_RemoveUnit, G2C_RemoveUnit>
- {
- protected override async ETTask Run(Session session, C2G_RemoveUnit request, G2C_RemoveUnit response, Action reply)
- {
- WNPlayer player = session.GetComponent<SessionPlayerComponent>().GetMyPlayer();
- if (player == null)
- {
- Log.Debug($"操作错误, player is null");
- response.Error = ErrorCode.ERR_OperationError;
- reply();
- return;
- }
- // 参数判断
- if (request.UnitId <= 0)
- {
- Log.Debug($"参数错误...unitId={request.UnitId}");
- response.Error = ErrorCode.ERR_ParameterError;
- reply();
- return;
- }
- // 配置是否能找到
- Monster prop = MonsterCategory.Instance.Get(request.UnitId);
- if (prop == null)
- {
- Log.Debug($"添加单位出错, 未找到配置...unitId={request.UnitId}, playerId={player.GetId()}");
- response.Error = ErrorCode.ERR_ConfigError;
- reply();
- return;
- }
- await player.Map.RemoveUnit(request.UnitId);
- reply();
- }
- }
- }
|