Ejemplo n.º 1
0
        public void ChangeName(int ptId, int roleId, string roleName)
        {
            try
            {
                lock (this.Mutex)
                {
                    KeyValuePair <int, int>      key = new KeyValuePair <int, int>(ptId, roleId);
                    KuaFuData <KFRebornRoleData> kfRebornRoleData = null;
                    if (this.RebornRoleDataDict.TryGetValue(key, out kfRebornRoleData))
                    {
                        kfRebornRoleData.V.RoleName = roleName;
                        TimeUtil.AgeByNow(ref kfRebornRoleData.Age);
                        this.Persistence.UpdateRebornRoleDataRoleName(kfRebornRoleData.V);
                        bool refreshRank = false;
                        foreach (KeyValuePair <int, List <KFRebornRankInfo> > kvp in this.RebornRankDict.V)
                        {
                            KFRebornRankInfo item = kvp.Value.Find((KFRebornRankInfo x) => x.PtID == ptId && x.Key == roleId);
                            if (null != item)
                            {
                                string             worldRoleID   = ConstData.FormatWorldRoleID(roleId, ptId);
                                KuaFuWorldRoleData worldRoleData = TSingleton <KuaFuWorldManager> .getInstance().LoadKuaFuWorldRoleData(roleId, ptId, worldRoleID);

                                if (null != worldRoleData)
                                {
                                    item.Param1 = KuaFuServerManager.FormatName(item.tagInfo.V.RoleName, worldRoleData.ZoneID);
                                    refreshRank = true;
                                }
                            }
                        }
                        if (refreshRank)
                        {
                            TimeUtil.AgeByNow(ref this.RebornRankDict.Age);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogManager.WriteException(ex.ToString());
            }
        }
Ejemplo n.º 2
0
        public bool LoadRebornRankInfo(int rankType, KuaFuData <Dictionary <int, List <KFRebornRankInfo> > > RebornRankDict)
        {
            bool result;

            if (null == RebornRankDict)
            {
                result = false;
            }
            else
            {
                List <KFRebornRankInfo> rankList = null;
                if (!RebornRankDict.V.TryGetValue(rankType, out rankList))
                {
                    rankList = (RebornRankDict.V[rankType] = new List <KFRebornRankInfo>());
                }
                else
                {
                    rankList.Clear();
                }
                try
                {
                    string strSql = this.FormatLoadRebornRankSql(rankType);
                    if (string.IsNullOrEmpty(strSql))
                    {
                        return(false);
                    }
                    MySqlDataReader sdr = DbHelperMySQL.ExecuteReader(strSql, false);
                    while (sdr != null && sdr.Read())
                    {
                        KFRebornRankInfo rankInfo = new KFRebornRankInfo();
                        rankInfo.Key   = Convert.ToInt32(sdr["a"]);
                        rankInfo.Value = Convert.ToInt32(sdr["b"]);
                        rankInfo.PtID  = Convert.ToInt32(sdr["c"]);
                        KuaFuData <KFRebornRoleData> kfRoleData = null;
                        if (this.RebornRoleDataDict.TryGetValue(new KeyValuePair <int, int>(rankInfo.PtID, rankInfo.Key), out kfRoleData))
                        {
                            string             worldRoleID   = ConstData.FormatWorldRoleID(rankInfo.Key, rankInfo.PtID);
                            KuaFuWorldRoleData worldRoleData = TSingleton <KuaFuWorldManager> .getInstance().LoadKuaFuWorldRoleData(rankInfo.Key, rankInfo.PtID, worldRoleID);

                            if (null != worldRoleData)
                            {
                                int KFZoneID = ConstData.ConvertToKuaFuServerID(worldRoleData.ZoneID, worldRoleData.PTID);
                                rankInfo.Param1  = KuaFuServerManager.FormatName(kfRoleData.V.RoleName, KFZoneID);
                                rankInfo.Param2  = worldRoleData.Channel;
                                rankInfo.UserID  = worldRoleData.UserID;
                                rankInfo.tagInfo = kfRoleData;
                            }
                        }
                        rankList.Add(rankInfo);
                    }
                    if (null != RebornRankDict)
                    {
                        TimeUtil.AgeByNow(ref RebornRankDict.Age);
                    }
                    if (sdr != null)
                    {
                        sdr.Close();
                    }
                }
                catch (Exception ex)
                {
                    LogManager.WriteExceptionUseCache(ex.ToString());
                    return(false);
                }
                result = true;
            }
            return(result);
        }