예제 #1
0
        private bool SetData(int _nHeroID, ref LocalHeroData _nDataResult)
        {
            bool result = false;

            if (m_SkinDataMap.ContainsKey(_nHeroID))
            {
                m_SkinDataMap[_nHeroID] = _nDataResult;
                result = true;
            }
            else
            {
                //新客户端,user目录下没有临时文件,那就用默认配置初始化一下。
                if (m_SkinDataMap.Count <= 0)
                {
                    UpdateUserDataWithScp();
                }
                else
                {
                    Trace.LogWarning("取不到英雄ID:" + _nHeroID + " 的LocalHeroData数据");
                }
            }


            return(result);
        }
예제 #2
0
        public bool SetIntData(ELocalHero _eDataType, int _nHeroID, int _nDataResult)
        {
            if (_nHeroID <= 0)
            {
                return(false);
            }

            bool          result = false;
            LocalHeroData data   = null;

            result = GetData(_nHeroID, out data);
            if (result)
            {
                SetDataIntProperty(_eDataType, ref data, _nDataResult);
                SetData(_nHeroID, ref data);
            }

            return(result);
        }
예제 #3
0
        private bool GetData(int _nHeroID, out LocalHeroData _nDataResult, bool _bIsDefault = false)
        {
            bool result = true;

            Dictionary <int, LocalHeroData> tmpDic = _bIsDefault ? m_SkinScpDataMap : m_SkinDataMap;

            //新客户端,user目录下没有临时文件,那就用默认配置初始化一下。
            if (m_SkinDataMap.Count != m_SkinScpDataMap.Count)
            {
                UpdateUserDataWithScp();
            }

            if (!tmpDic.TryGetValue(_nHeroID, out _nDataResult))
            {
                Trace.LogWarning("取不到英雄ID:" + _nHeroID + " 的LocalHeroData数据");
                result = false;
            }

            return(result);
        }
예제 #4
0
        public bool GetIntData(ELocalHero _eDataType, int _nHeroID, out int _nDataResult, bool _bIsDefault = false)
        {
            _nDataResult = -1;
            if (_nHeroID <= 0)
            {
                return(false);
            }


            bool          result = false;
            LocalHeroData data   = null;

            result = GetData(_nHeroID, out data, _bIsDefault);

            if (result)
            {
                _nDataResult = GetDataIntProperty(_eDataType, data);
            }

            return(result);
        }
예제 #5
0
        private void InitPlayerLocalHeroCsv(ref Dictionary <int, LocalHeroData> _dataDiv, string _strPath, bool _bScp)
        {
            if (_bScp == false && !File.Exists(_strPath))
            {
                return;
            }

            ScpReader reader = new ScpReader(_strPath, true, 2);

            for (int i = 0; i < reader.GetRecordCount(); i++)
            {
                //读取表中记录的数据类型(HeroSettingDataType)
                LocalHeroData data = new LocalHeroData();
                data.nHeroID             = reader.GetInt(i, (int)ELocalHero.ELH_HeroID, 0);
                data.nDeSkinID           = reader.GetInt(i, (int)ELocalHero.ELH_DeSkinID, 0);
                data.nGoodsDispositionID = reader.GetInt(i, (int)ELocalHero.ELH_GoodsDispositionID, 0);
                data.nGemPageID          = reader.GetInt(i, (int)ELocalHero.ELH_GemPageID, 0);
                data.nSummonID           = reader.GetInt(i, (int)ELocalHero.ELH_SummonID, 0);

                _dataDiv[data.nHeroID] = data;
            }
        }
예제 #6
0
        private void SetDataIntProperty(ELocalHero _eDataType, ref LocalHeroData _data, int _nPropertyData)
        {
            switch (_eDataType)
            {
            case ELocalHero.ELH_DeSkinID:
            {
                _data.nDeSkinID = _nPropertyData;
            }
            break;

            case ELocalHero.ELH_GoodsDispositionID:
            {
                _data.nGoodsDispositionID = _nPropertyData;
            }
            break;

            case ELocalHero.ELH_GemPageID:
            {
                if (_nPropertyData > 0)
                {
                    _data.nGemPageID = _nPropertyData;
                }
            }
            break;

            case ELocalHero.ELH_SummonID:
            {
                if (_nPropertyData > 0)
                {
                    _data.nSummonID = _nPropertyData;
                }
            }
            break;

            default:
                break;
            }
        }
예제 #7
0
        private int GetDataIntProperty(ELocalHero _eDataType, LocalHeroData _data)
        {
            switch (_eDataType)
            {
            case ELocalHero.ELH_HeroID:
                return(_data.nHeroID);

            case ELocalHero.ELH_DeSkinID:
                return(_data.nDeSkinID);

            case ELocalHero.ELH_GoodsDispositionID:
                return(_data.nGoodsDispositionID);

            case ELocalHero.ELH_GemPageID:
                return(_data.nGemPageID);

            case ELocalHero.ELH_SummonID:
                return(_data.nSummonID);

            default:
                return(0);
            }
        }