public KFCopyTeamSetFlagRsp SetFlag(KFCopyTeamSetFlagReq req) { IKuaFuCopyService service = this.GetKuaFuService(true); KFCopyTeamSetFlagRsp result; if (service == null) { result = null; } else { result = service.TeamSetFlag(req); } return(result); }
public KFCopyTeamSetFlagRsp TeamSetFlag(KFCopyTeamSetFlagReq req) { return(this.teamMgr.TeamSetFlag(req)); }
public KFCopyTeamSetFlagRsp TeamSetFlag(KFCopyTeamSetFlagReq req) { KFCopyTeamSetFlagRsp rsp = new KFCopyTeamSetFlagRsp(); try { lock (this.Mutex) { CopyTeamData td = null; if (!this.CopyTeamDict.TryGetValue(req.TeamId, out td)) { rsp.ErrorCode = CopyTeamErrorCodes.TeamIsDestoryed; return(rsp); } if (req.RoleId != td.LeaderRoleID) { rsp.ErrorCode = CopyTeamErrorCodes.NotTeamLeader; return(rsp); } CopyTeamMemberData member = td.TeamRoles.Find((CopyTeamMemberData _role) => _role.RoleID == req.RoleId); if (member == null) { rsp.ErrorCode = CopyTeamErrorCodes.NotInMyTeam; return(rsp); } if (td.StartTime > 0L) { rsp.ErrorCode = CopyTeamErrorCodes.Success; return(rsp); } if (req.AutoStart >= 0) { td.AutoStart = (req.AutoStart > 0); } if (req.AutoKick >= 0) { td.AutoKick = req.AutoKick; } CopyTeamFlagData data = new CopyTeamFlagData(); data.RoleId = req.RoleId; data.TeamId = req.TeamId; data.AutoStart = (td.AutoStart ? 1 : 0); data.AutoKick = td.AutoKick; this.AddAsyncEvent(new AsyncDataItem { EventType = KuaFuEventTypes.KFCopyTeamSetFlag, Args = new object[] { member.ServerId, data } }); rsp.ErrorCode = CopyTeamErrorCodes.Success; rsp.Data = data; } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Error, string.Format("更新跨服副本队伍准备状态异常, role={0}, teamid={1}", req.RoleId, req.TeamId), ex, true); rsp.ErrorCode = CopyTeamErrorCodes.CenterServerFailed; } return(rsp); }