/// <summary> /// 改变角色的在某个游戏副本中的状态 /// </summary> /// <param name="roleId"></param> /// <param name="state"></param> /// <param name="serverId">如果不知道,传0</param> /// <param name="gameId"></param> /// <returns></returns> public int GameFuBenRoleChangeState(int roleId, int state, int serverId = 0, int gameId = 0) { try { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { if (serverId <= 0 || gameId <= 0) { KuaFuRoleData kuaFuRoleData; if (!RoleId2RoleDataDict.TryGetValue(roleId, out kuaFuRoleData)) { return((int)KuaFuRoleStates.None); } serverId = kuaFuRoleData.ServerId; gameId = kuaFuRoleData.GameId; } return(KuaFuService.GameFuBenRoleChangeState(serverId, roleId, gameId, state)); } } catch (System.Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } return(0); }
private void ResetKuaFuService() { RemoteServiceUri = CoreInterface.GetRuntimeVariable("TianTiUri", null); lock (Mutex) { KuaFuService = null; } }
public void TimerProc(object sender, EventArgs e) { try { string tianTiUri = CoreInterface.GetRuntimeVariable(RuntimeVariableNames.TianTiUri, null); if (RemoteServiceUri != tianTiUri) { RemoteServiceUri = tianTiUri; } ITianTiService 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) { //ThreadPool.QueueUserWorkItem(new WaitCallback(ExecuteEventCallBackAsync), items); ExecuteEventCallBackAsync(items); } } } } catch (System.Exception ex) { ResetKuaFuService(); } }
public void UpdateRoleInfoData(TianTiRoleInfoData data) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { kuaFuService.UpdateRoleInfoData(data); } catch (System.Exception ex) { ResetKuaFuService(); } } }
public TianTiRankData GetRankingData() { TianTiRankData tianTiRankData; ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { DateTime modifyTime; lock (Mutex) { modifyTime = RankData.ModifyTime; } tianTiRankData = kuaFuService.GetRankingData(modifyTime); lock (Mutex) { if (tianTiRankData != null && tianTiRankData.ModifyTime > RankData.ModifyTime) { RankData = tianTiRankData; } tianTiRankData = new TianTiRankData(); tianTiRankData.ModifyTime = RankData.ModifyTime; tianTiRankData.MaxPaiMingRank = RankData.MaxPaiMingRank; if (RankData.TianTiRoleInfoDataList != null && RankData.TianTiRoleInfoDataList.Count > 0) { tianTiRankData.TianTiRoleInfoDataList = new List <TianTiRoleInfoData>(RankData.TianTiRoleInfoDataList); } if (RankData.TianTiMonthRoleInfoDataList != null && RankData.TianTiMonthRoleInfoDataList.Count > 0) { tianTiRankData.TianTiMonthRoleInfoDataList = new List <TianTiRoleInfoData>(RankData.TianTiMonthRoleInfoDataList); } return(tianTiRankData); } } catch (System.Exception ex) { ResetKuaFuService(); } } return(null); }
public int ChangeRoleState(int roleId, KuaFuRoleStates state, bool noWait = false) { int result = StdErrorCode.Error_Operation_Faild; ITianTiService kuaFuService = null; KuaFuRoleData kuaFuRoleData = null; int serverId = ClientInfo.ServerId; lock (Mutex) { if (RoleId2RoleDataDict.TryGetValue(roleId, out kuaFuRoleData)) { serverId = kuaFuRoleData.ServerId; } } kuaFuService = GetKuaFuService(noWait); if (null != kuaFuService) { try { result = kuaFuService.RoleChangeState(serverId, roleId, (int)state); if (result >= 0) { lock (Mutex) { if (RoleId2RoleDataDict.TryGetValue(roleId, out kuaFuRoleData)) { kuaFuRoleData.State = (KuaFuRoleStates)result; } } if (null != kuaFuRoleData) { UpdateRoleData(kuaFuRoleData); } } } catch (System.Exception ex) { result = StdErrorCode.Error_Server_Internal_Error; } } return(result); }
public int ZhengBaKuaFuLogin(int roleId, int gameId) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.ZhengBaKuaFuLogin(roleId, gameId)); } catch (System.Exception ex) { ResetKuaFuService(); } } return(StdErrorCode.Error_Server_Internal_Error); }
public List <ZhengBaNtfPkResultData> ZhengBaPkResult(int gameId, int winner, int FirstLeaveRoleId) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.ZhengBaPkResult(gameId, winner, FirstLeaveRoleId)); } catch (System.Exception ex) { ResetKuaFuService(); } } return(null); }
public int ZhengBaRequestEnter(int roleId, int gameId, EZhengBaEnterType enter) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.ZhengBaRequestEnter(roleId, gameId, enter)); } catch (System.Exception ex) { ResetKuaFuService(); } } return(StdErrorCode.Error_Server_Internal_Error); }
public int ZhengBaSupport(ZhengBaSupportLogData data) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.ZhengBaSupport(data)); } catch (System.Exception ex) { ResetKuaFuService(); } } return(StdErrorCode.Error_Server_Internal_Error); }
public ZhengBaSyncData GetZhengBaRankData(ZhengBaSyncData lastSyncData) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.SyncZhengBaData(lastSyncData)); } catch (System.Exception ex) { ResetKuaFuService(); } } return(null); }
public void CoupleWishReportCoupleStatue(CoupleWishReportStatueData req) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { kuaFuService.CoupleWishReportCoupleStatue(req); } catch (System.Exception ex) { ResetKuaFuService(); } } else { } }
/// <summary> /// 从服务器获取角色数据 /// </summary> /// <param name="serverId"></param> /// <param name="roleId"></param> /// <returns></returns> public KuaFuRoleData GetKuaFuRoleDataFromServer(int serverId, int roleId) { KuaFuRoleData kuaFuRoleData = null; ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { kuaFuRoleData = (KuaFuRoleData)kuaFuService.GetKuaFuRoleData(serverId, roleId); UpdateRoleData(kuaFuRoleData); //更新 } catch (System.Exception ex) { kuaFuRoleData = null; } } return(kuaFuRoleData); }
/// <summary> /// 游戏副本状态变更 /// </summary> /// <param name="gameId"></param> /// <param name="state"></param> /// <param name="time"></param> /// <returns></returns> public int GameFuBenChangeState(int gameId, GameFuBenState state, DateTime time) { int result = StdErrorCode.Error_Server_Busy; ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { result = kuaFuService.GameFuBenChangeState(gameId, state, time); } catch (System.Exception ex) { ResetKuaFuService(); result = StdErrorCode.Error_Server_Internal_Error; } } return(result); }
/// <summary> /// 角色状态修改 /// </summary> /// <param name="rid"></param> /// <param name="gameType"></param> /// <param name="groupIndex"></param> /// <param name="state"></param> /// <returns></returns> public int RoleChangeState(int serverId, int rid, int state) { int result = StdErrorCode.Error_Operation_Faild; ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { result = kuaFuService.RoleChangeState(serverId, rid, state); } catch (System.Exception ex) { ResetKuaFuService(); } } return(result); }
public int CoupleArenaPreDivorce(int roleId1, int roleId2) { ITianTiService kuaFuService = GetKuaFuService(true); if (null != kuaFuService) { try { return(kuaFuService.CoupleArenaPreDivorce(roleId1, roleId2)); } catch (System.Exception ex) { ResetKuaFuService(); return(StdErrorCode.Error_Server_Internal_Error); } } else { return(StdErrorCode.Error_Server_Not_Registed); } }
public CoupleArenaPkResultRsp CoupleArenaPkResult(CoupleArenaPkResultReq req) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.CoupleArenaPkResult(req)); } catch (System.Exception ex) { ResetKuaFuService(); return(null); } } else { return(null); } }
public CoupleArenaSyncData CoupleArenaSync(DateTime lastSyncTime) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.CoupleArenaSync(lastSyncTime)); } catch (System.Exception ex) { ResetKuaFuService(); return(null); } } else { return(null); } }
public int CoupleWishJoinParty(int fromRole, int fromZone, int toCoupleId) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.CoupleWishJoinParty(fromRole, fromZone, toCoupleId)); } catch (System.Exception ex) { ResetKuaFuService(); return(StdErrorCode.Error_Server_Internal_Error); } } else { return(StdErrorCode.Error_Server_Not_Registed); } }
public int CoupleWishPreDivorce(int man, int wife) { ITianTiService kuaFuService = GetKuaFuService(true); if (null != kuaFuService) { try { return(kuaFuService.CoupleWishPreDivorce(man, wife)); } catch (System.Exception ex) { ResetKuaFuService(); return(StdErrorCode.Error_Server_Internal_Error); } } else { return(StdErrorCode.Error_Server_Not_Registed); } }
public CoupleWishSyncData CoupleWishSyncCenterData(DateTime oldThisWeek, DateTime oldLastWeek, DateTime oldStatue) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.CoupleWishSyncCenterData(oldThisWeek, oldLastWeek, oldStatue)); } catch (System.Exception ex) { ResetKuaFuService(); return(null); } } else { return(null); } }
public List <CoupleWishWishRecordData> CoupleWishGetWishRecord(int roleId) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.CoupleWishGetWishRecord(roleId)); } catch (System.Exception ex) { ResetKuaFuService(); return(null); } } else { return(null); } }
public int CoupleWishWishRole(CoupleWishWishRoleReq req) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.CoupleWishWishRole(req)); } catch (System.Exception ex) { ResetKuaFuService(); return(StdErrorCode.Error_Server_Internal_Error); } } else { return(StdErrorCode.Error_Server_Not_Registed); } }
public CoupleArenaFuBenData GetFuBenData(long gameId) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { return(kuaFuService.GetFuBenData(gameId)); } catch (System.Exception ex) { ResetKuaFuService(); return(null); } } else { return(null); } }
private TianTiFuBenData GetKuaFuFuBenData(int gameId) { TianTiFuBenData TianTiFuBenData = null; if (TianTiFuBenData == null) { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { TianTiFuBenData = (TianTiFuBenData)kuaFuService.GetFuBenData(gameId); } catch (System.Exception ex) { TianTiFuBenData = null; } } } return(TianTiFuBenData); }
/// <summary> /// 从服务器获取 /// </summary> /// <param name="roleId"></param> /// <returns></returns> public int GetRoleKuaFuFuBenRoleCount(int roleId) { int roleCount = 0; try { ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { object result = kuaFuService.GetRoleExtendData(ClientInfo.ServerId, roleId, (int)KuaFuRoleExtendDataTypes.GameFuBenRoleCount); if (null != result) { roleCount = (int)result; } } } catch (System.Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } return(roleCount); }
private ITianTiService GetKuaFuService(bool noWait = false) { ITianTiService kuaFuService = null; int clientId = -1; try { lock (Mutex) { if (string.IsNullOrEmpty(RemoteServiceUri)) { return(null); } if (null == KuaFuService && noWait) { return(null); } } lock (RemotingMutex) { if (KuaFuService == null) { kuaFuService = (ITianTiService)Activator.GetObject(typeof(ITianTiService), RemoteServiceUri); if (null == kuaFuService) { return(null); } } else { kuaFuService = KuaFuService; } //KuaFuClientContext clientContext = CallContext.GetData("KuaFuClientContext") as KuaFuClientContext; //if (null == clientContext) //{ // CallContext.SetData("KuaFuClientContext", new KuaFuClientContext() { ServerId = ClientInfo.ServerId, ClientId = ClientInfo.ClientId }); //} clientId = kuaFuService.InitializeClient(this, ClientInfo); if (null != kuaFuService && (clientId != ClientInfo.ClientId || KuaFuService != kuaFuService)) { lock (Mutex) { KuaFuService = kuaFuService; ClientInfo.ClientId = clientId; return(kuaFuService); } } return(KuaFuService); } } catch (System.Exception ex) { ResetKuaFuService(); LogManager.WriteExceptionUseCache(ex.ToString()); } return(null); }
/// <summary> /// 匹配报名 /// </summary> /// <param name="userId"></param> /// <param name="roleId"></param> /// <param name="zoneId"></param> /// <param name="gameType"></param> /// <param name="groupIndex"></param> /// <returns></returns> public int TianTiSignUp(string userId, int roleId, int zoneId, int gameType, int groupIndex, int zhanDouLi) { int result; if (string.IsNullOrEmpty(userId) || roleId <= 0) { return(StdErrorCode.Error_Not_Exist); } userId = userId.ToUpper(); int count = Interlocked.Increment(ref CurrentRequestCount); try { if (count < MaxRequestCount) { lock (Mutex) { KuaFuRoleData kuaFuRoleData; if (RoleId2RoleDataDict.TryGetValue(roleId, out kuaFuRoleData)) { //如果服务器ID不同,表明是跨服登录角色,不应该在此报名 if (kuaFuRoleData.ServerId != ClientInfo.ServerId) { return(StdErrorCode.Error_Operation_Faild); } } } ITianTiService kuaFuService = GetKuaFuService(); if (null != kuaFuService) { try { TianTiGameData TianTiGameData = new TianTiGameData() { ZhanDouLi = zhanDouLi }; result = kuaFuService.RoleSignUp(ClientInfo.ServerId, userId, zoneId, roleId, gameType, groupIndex, TianTiGameData); } catch (System.Exception ex) { ResetKuaFuService(); } } else { return(StdErrorCode.Error_Server_Not_Registed); } } } catch (System.Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } finally { Interlocked.Decrement(ref CurrentRequestCount); } return(StdErrorCode.Error_Success); }