public void TimerProc(object sender, EventArgs e) { try { string moRiJudgeUri = this.CoreInterface.GetRuntimeVariable("KuaFuCopyUri", null); if (this.RemoteServiceUri != moRiJudgeUri) { this.RemoteServiceUri = moRiJudgeUri; } IKuaFuCopyService kuaFuService = this.GetKuaFuService(false); if (null != kuaFuService) { if (this.ClientInfo.ClientId > 0) { AsyncDataItem[] items = kuaFuService.GetClientCacheItems(this.ClientInfo.ServerId); if (items != null && items.Length > 0) { foreach (AsyncDataItem item in items) { this.EventCallBackHandler(item); } } } } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Error, "KFCopyRpcClient.TimerProc调度异常", ex, true); this.ResetKuaFuService(); } }
private void ResetKuaFuService() { RemoteServiceUri = CoreInterface.GetRuntimeVariable(RuntimeVariableNames.KuaFuCopyUri, null); lock (Mutex) { KuaFuService = null; } }
public void KFCopyTeamRemove(long teamId) { IKuaFuCopyService service = this.GetKuaFuService(false); if (service != null) { service.RemoveTeam(teamId); } }
public void TimerProc(object sender, EventArgs e) { try { string moRiJudgeUri = CoreInterface.GetRuntimeVariable(RuntimeVariableNames.KuaFuCopyUri, null); if (RemoteServiceUri != moRiJudgeUri) { RemoteServiceUri = moRiJudgeUri; } IKuaFuCopyService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { if (ClientInfo.ClientId > 0) { List <KuaFuServerInfo> dict = kuaFuService.GetKuaFuServerInfoData(ServerInfoAsyncAge); if (null != dict && dict.Count > 0) { lock (Mutex) { ServerIdServerInfoDict.Clear(); bool first = true; foreach (var item in dict) { ServerIdServerInfoDict[item.ServerId] = item; if (first) { first = false; ServerInfoAsyncAge = item.Age; } if (ClientInfo.ServerId == item.ServerId) { LocalServerFlags = item.Flags; } } } } //同步数据 AsyncDataItem[] items = kuaFuService.GetClientCacheItems(ClientInfo.ServerId); if (null != items && items.Length > 0) { foreach (var item in items) { EventCallBackHandler((int)item.EventType, item.Args); } } } } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Error, "KFCopyRpcClient.TimerProc调度异常", ex); ResetKuaFuService(); } }
private IKuaFuCopyService GetKuaFuService(bool noWait = false) { try { lock (Mutex) { if (string.IsNullOrEmpty(RemoteServiceUri)) { return(null); } if (null == KuaFuService && noWait) { return(null); } } IKuaFuCopyService tmpKuaFuService = null; lock (RemotingMutex) { if (KuaFuService == null) { tmpKuaFuService = (IKuaFuCopyService)Activator.GetObject(typeof(IKuaFuCopyService), RemoteServiceUri); if (null == tmpKuaFuService) { return(null); } } else { tmpKuaFuService = KuaFuService; } int clientId = tmpKuaFuService.InitializeClient(this, ClientInfo); if (null != tmpKuaFuService && (clientId != ClientInfo.ClientId || KuaFuService != tmpKuaFuService)) { lock (Mutex) { KuaFuService = tmpKuaFuService; ClientInfo.ClientId = clientId; return(tmpKuaFuService); } } return(KuaFuService); } } catch (System.Exception ex) { ResetKuaFuService(); LogManager.WriteExceptionUseCache(ex.ToString()); } return(null); }
public KFCopyTeamStartRsp StartGame(KFCopyTeamStartReq req) { IKuaFuCopyService service = GetKuaFuService(true); if (service == null) { return(null); } return(service.StartGame(req)); }
public KFCopyTeamCreateRsp CreateTeam(KFCopyTeamCreateReq req) { IKuaFuCopyService service = GetKuaFuService(true); if (service == null) { return(null); } return(service.CreateTeam(req)); }
public void KFCopyTeamRemove(long teamId) { IKuaFuCopyService service = GetKuaFuService(); if (service == null) { return; } service.RemoveTeam(teamId); }
/// <summary> /// 跨服活动服务器接到分给自己了一个副本的消息时,从中心取一下最新的队伍信息 /// 并且向中心发回确认,我已经准备好了,请玩家切过来吧 /// </summary> public CopyTeamData GetTeamData(long teamid) { IKuaFuCopyService service = GetKuaFuService(); if (service == null) { return(null); } return(service.GetTeamData(teamid)); }
public KFCopyTeamSetReadyRsp SetReady(KFCopyTeamSetReadyReq req) { IKuaFuCopyService service = GetKuaFuService(true); if (service == null) { return(null); } return(service.TeamSetReady(req)); }
public KFCopyTeamLeaveRsp LeaveTeam(KFCopyTeamLeaveReq req) { IKuaFuCopyService service = GetKuaFuService(true); if (service == null) { return(null); } return(service.LeaveTeam(req)); }
public KFCopyTeamKickoutRsp KickoutTeam(KFCopyTeamKickoutReq req) { IKuaFuCopyService service = GetKuaFuService(true); if (service == null) { return(null); } return(service.KickoutTeam(req)); }
public KFCopyTeamJoinRsp JoinTeam(KFCopyTeamJoinReq req) { IKuaFuCopyService service = GetKuaFuService(true); if (service == null) { return(null); } return(service.JoinTeam(req)); }
public InputKingPaiHangDataEx GetPlatChargeKing() { IKuaFuCopyService service = GetKuaFuService(true); if (service == null) { return(null); } object obj = service.GetPlatChargeKing(); return(obj != null ? obj as InputKingPaiHangDataEx : null); }
public CopyTeamData GetTeamData(long teamid) { IKuaFuCopyService service = this.GetKuaFuService(false); CopyTeamData result; if (service == null) { result = null; } else { result = service.GetTeamData(teamid); } return(result); }
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 KFCopyTeamLeaveRsp LeaveTeam(KFCopyTeamLeaveReq req) { IKuaFuCopyService service = this.GetKuaFuService(true); KFCopyTeamLeaveRsp result; if (service == null) { result = null; } else { result = service.LeaveTeam(req); } return(result); }
public KFCopyTeamStartRsp StartGame(KFCopyTeamStartReq req) { IKuaFuCopyService service = this.GetKuaFuService(true); KFCopyTeamStartRsp result; if (service == null) { result = null; } else { result = service.StartGame(req); } return(result); }
public KFCopyTeamKickoutRsp KickoutTeam(KFCopyTeamKickoutReq req) { IKuaFuCopyService service = this.GetKuaFuService(true); KFCopyTeamKickoutRsp result; if (service == null) { result = null; } else { result = service.KickoutTeam(req); } return(result); }
public InputKingPaiHangDataEx GetPlatChargeKing() { IKuaFuCopyService service = this.GetKuaFuService(true); InputKingPaiHangDataEx result; if (service == null) { result = null; } else { object obj = service.GetPlatChargeKing(); result = ((obj != null) ? (obj as InputKingPaiHangDataEx) : null); } return(result); }
public SpecPrioritySyncData SpecPriority_GetActivityConditionInfo() { IKuaFuCopyService service = this.GetKuaFuService(true); if (service != null) { try { object obj = service.SpecPriority_GetActivityConditionInfo(); return((obj != null) ? (obj as SpecPrioritySyncData) : null); } catch (Exception ex) { this.ResetKuaFuService(); } } return(null); }
public List <InputKingPaiHangDataEx> GetPlatChargeKingEveryDay(DateTime FromDate, DateTime ToDate) { IKuaFuCopyService service = this.GetKuaFuService(true); if (service != null) { try { object obj = service.GetPlatChargeKingEveryDay(FromDate, ToDate); return((obj != null) ? (obj as List <InputKingPaiHangDataEx>) : null); } catch (Exception ex) { this.ResetKuaFuService(); } } return(null); }
public int SpecPriority_ModifyActivityConditionNum(int key, int add) { int result = -11000; IKuaFuCopyService service = this.GetKuaFuService(true); if (service != null) { try { result = service.SpecPriority_ModifyActivityConditionNum(key, add); } catch (Exception ex) { result = -11003; this.ResetKuaFuService(); } } return(result); }
public int UpdateHuodongAwardUserHist(int actType, string huoDongKeyStr, string userid, int extTag) { int result = -11000; IKuaFuCopyService service = this.GetKuaFuService(true); if (service != null) { try { result = service.UpdateHuodongAwardUserHist(actType, huoDongKeyStr, userid, extTag); } catch (Exception ex) { result = -11003; this.ResetKuaFuService(); } } return(result); }
public long QueryHuodongAwardUserHist(int actType, string huoDongKeyStr, string userid) { long result = -11000L; IKuaFuCopyService service = this.GetKuaFuService(true); if (service != null) { try { result = service.QueryHuodongAwardUserHist(actType, huoDongKeyStr, userid); } catch (Exception ex) { result = -11003L; this.ResetKuaFuService(); } } return(result); }