Ejemplo n.º 1
0
        public TSaveRcd GetSaveRcd(string sAccount, string sCharName)
        {
            TSaveRcd result = null;
            TSaveRcd SaveRcd;

            HUtil32.EnterCriticalSection(m_UserCriticalSection);
            try
            {
                if (m_SaveRcdList.Count > 0)
                {
                    for (int I = 0; I < m_SaveRcdList.Count; I++)
                    {
                        SaveRcd = m_SaveRcdList[I];
                        if (SaveRcd.sAccount == sAccount && SaveRcd.sChrName == sCharName)
                        {
                            result = SaveRcd;
                            break;
                        }
                    }
                }
            }
            finally
            {
                HUtil32.LeaveCriticalSection(m_UserCriticalSection);
            }
            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 更新角色是否存在列表里
        /// </summary>
        /// <param name="SaveRcd"></param>
        /// <returns></returns>
        public bool UpDataSaveRcdList(TSaveRcd SaveRcd)
        {
            bool     result = false;
            TSaveRcd HumanRcd;

            HUtil32.EnterCriticalSection(m_UserCriticalSection);
            try
            {
                for (int I = m_SaveRcdList.Count - 1; I >= 0; I--)
                {
                    if (m_SaveRcdList.Count <= 0)
                    {
                        break;
                    }
                    HumanRcd = m_SaveRcdList[I];
                    if (HumanRcd != null)
                    {
                        if (HumanRcd.sAccount == SaveRcd.sAccount && HumanRcd.sChrName == SaveRcd.sChrName)
                        {
                            HumanRcd.HumanRcd = SaveRcd.HumanRcd;
                            result            = true;
                            return(result);
                        }
                    }
                }
                m_SaveRcdList.Add(SaveRcd);
            }
            finally
            {
                HUtil32.LeaveCriticalSection(m_UserCriticalSection);
            }
            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 保存人物数据
        /// </summary>
        /// <param name="sAccount">账号</param>
        /// <param name="sCharName">人物名称</param>
        /// <param name="nSessionID">会话ID</param>
        /// <param name="boIsHero">是否英雄</param>
        /// <param name="BoisDoubleHero"></param>
        /// <param name="btJob"></param>
        /// <param name="HumanRcd"></param>
        /// <returns></returns>
        public static bool SaveHumRcdToDB(TSaveRcd SaveHumRcd)
        {
            bool result;

            if (SaveHumRcd.boIsHero)
            {
                if (SaveHumRcd.boisDoubleHero)
                {
                    result = SaveDoubleHeroRcd(SaveHumRcd.sAccount, SaveHumRcd.sChrName, SaveHumRcd.nSessionID, SaveHumRcd.btJob, SaveHumRcd.HumanRcd);
                }
                else
                {
                    result = SaveHeroRcd(SaveHumRcd.sAccount, SaveHumRcd.sChrName, SaveHumRcd.nSessionID, SaveHumRcd.HumanRcd);  // 保存英雄数据
                }
            }
            else
            {
                result = SaveRcd(SaveHumRcd.sAccount, SaveHumRcd.sChrName, SaveHumRcd.nSessionID, SaveHumRcd.HumanRcd);// 保存人物数据
                M2Share.g_Config.nSaveDBCount++;
            }
            return(result);
        }