void Refresh(TableState state)
    {
        if (mTableState != state)
        {
            mTableState = state;

            if (SkillTreeInfo.SkillMainTypeInfo.ContainsKey(pageIndex))
            {
                mSkillTypeDatas.Clear();
//				int count = 0;
                for (int i = 0; i < SkillTreeInfo.SkillMainTypeInfo[pageIndex].Count; i++)
                {
                    int                       main_type     = SkillTreeInfo.SkillMainTypeInfo[pageIndex][i]._mainType;
                    SkillMainType             mainType      = SkillTreeInfo.SkillMainTypeInfo[pageIndex].Find(itr => itr._mainType == main_type);
                    UISkillType.SkillTypeData skillTypeData = new UISkillType.SkillTypeData(SkillTreeInfo.GetUIShowList(mainType._mainType, skillMgr), mainType);
                    mSkillTypeDatas.Add(skillTypeData);
                }


                mSkillTypeCtrl.SetContent(SkillTreeInfo.SkillMainTypeInfo[pageIndex].Count, OnSetSkillTypeBtnContent);

                mSkillTypeCtrl.SetActiveBtn(0);
            }
        }

        UpdateSkillTypePos();
    }
    void RefreshTypeData(int maintype)
    {
        int index = mSkillTypeDatas.FindIndex(itr => itr.info._mainType == maintype);

        if (index != -1)
        {
            mSkillTypeDatas[index].data = SkillTreeInfo.GetUIShowList(maintype, skillMgr);
        }


        if (mActiveSkillType != null)
        {
            SkillMainType mainType = SkillTreeInfo.SkillMainTypeInfo[pageIndex].Find(itr => itr._mainType == mActiveSkillType.data.info._mainType);

            if (mainType != null)
            {
                UISkillType.SkillTypeData skillTypeData = new UISkillType.SkillTypeData(SkillTreeInfo.GetUIShowList(mainType._mainType, skillMgr), mainType);
                mActiveSkillType.data = skillTypeData;
            }
        }

        if (onRefreshTypeData != null)
        {
            onRefreshTypeData(this);
        }
    }
    void RefreshData()
    {
        if (!SkillTreeInfo.SkillMainTypeInfo.ContainsKey(pageIndex) || skillMgr == null)
        {
            return;
        }

        foreach (UISkillType uiType in mSkillTypeList)
        {
            SkillMainType mainType = SkillTreeInfo.SkillMainTypeInfo[pageIndex].Find(itr => itr._mainType == uiType.mainType);
            if (mainType == null)
            {
                continue;
            }

            UISkillType.SkillTypeData skillTypeData = new UISkillType.SkillTypeData(SkillTreeInfo.GetUIShowList(mainType._mainType, skillMgr), mainType);
            uiType.data = skillTypeData;
        }
    }
    static void LoadMainTypeData()
    {
        _skillMainTypeInfo = new Dictionary <int, List <SkillMainType> >();
        SqliteDataReader reader = LocalDatabase.Instance.ReadFullTable("skilltreemt");

//        int nFieldCount = reader.FieldCount;
        while (reader.Read())
        {
            SkillMainType info = new SkillMainType();
            info._mainType = Convert.ToInt32(reader.GetString(reader.GetOrdinal("typeid")));
            string   temp  = reader.GetString(reader.GetOrdinal("icon"));
            string[] icons = temp.Split(',');
            info._icon.AddRange(icons);
            info._desc       = PELocalization.GetString(Convert.ToInt32(reader.GetString(reader.GetOrdinal("desc"))));
            info._skillGroup = Convert.ToInt32(reader.GetString(reader.GetOrdinal("skillgroup")));
            if (!_skillMainTypeInfo.ContainsKey(info._skillGroup))
            {
                _skillMainTypeInfo[info._skillGroup] = new List <SkillMainType>();
            }
            _skillMainTypeInfo[info._skillGroup].Add(info);
        }
    }
Beispiel #5
0
 public SkillTypeData(Dictionary <int, List <SkillTreeUnit> > _data, SkillMainType _info)
 {
     data = _data;
     info = _info;
 }