Esempio n. 1
0
    public void UpdateData()
    {
        Dictionary <int, HelpLevelData> allData = HelpLevelData.GetMetaData();
        int           i = 0;
        GameObject    item;
        HelpLevelItem hlItem;
        string        check = string.Empty;

        foreach (HelpLevelData hlData in allData.Values)
        {
            bool first = false;
            if (i >= itemPool_.Count)
            {
                item = (GameObject)GameObject.Instantiate(itemPre_) as GameObject;
                item.transform.parent        = grid.transform;
                item.transform.localPosition = Vector3.zero;
                item.transform.localScale    = Vector3.one;
                item.SetActive(true);
                itemPool_.Add(item);
                first = true;
            }
            else
            {
                item = itemPool_[i];
            }

            hlItem = item.GetComponent <HelpLevelItem>();
            if (first)
            {
                if (!string.IsNullOrEmpty(hlData.openui))
                {
                    check = string.Format("{0}>{1}", "ui", hlData.openui);
                }
                else if (!string.IsNullOrEmpty(hlData.npc))
                {
                    check = string.Format("{0}>{1}", "npc", hlData.npc);
                }
                else
                {
                    check = "";
                }
                hlItem.SetData(hlData.icon, hlData.level, hlData.desc, check);
            }
            hlItem.UpdateLock(hlData.level > GamePlayer.Instance.GetIprop(PropertyType.PT_Level));
            i++;
        }

        grid.Reposition();
    }
Esempio n. 2
0
    public static HelpLevelData NextData(int crtlevel)
    {
        HelpLevelData data   = null;
        int           nextLv = int.MaxValue;

        foreach (HelpLevelData hlData in metaData.Values)
        {
            if (hlData.level > crtlevel)
            {
                if (hlData.level < nextLv)
                {
                    nextLv = hlData.level;
                    data   = hlData;
                }
            }
        }
        return(data);
    }
Esempio n. 3
0
    public static void ParseData(string content, string fileName)
    {
        metaData = new Dictionary <int, HelpLevelData>();

        CSVParser parser = new CSVParser();

        if (!parser.Parse(content))
        {
            ClientLog.Instance.LogError("HelpLevelData" + ConfigLoader.Instance.csvext + "解析错误");
            return;
        }

        int           recordCounter = parser.GetRecordCounter();
        HelpLevelData data          = null;

        for (int i = 0; i < recordCounter; ++i)
        {
            data        = new HelpLevelData();
            data.id     = parser.GetInt(i, "id");
            data.icon   = parser.GetString(i, "icon");
            data.name   = parser.GetString(i, "name");
            data.desc   = parser.GetString(i, "desc");
            data.level  = parser.GetInt(i, "level");
            data.openui = parser.GetString(i, "openui");
            data.npc    = parser.GetString(i, "npc");

            if (metaData.ContainsKey(data.id))
            {
                ClientLog.Instance.LogError("HelpLevelData" + ConfigLoader.Instance.csvext + "ID重复");
                return;
            }
            metaData[data.id] = data;
        }
        parser.Dispose();
        parser = null;
    }