Example #1
0
    public static float GetEquipPerNum(int level, PropertyType type, float num)
    {
        EquipColorData data = GetData(level);

        if (data == null)
        {
            return(-1);
        }
        foreach (var x in data.propArr)
        {
            if (x.Key == type)
            {
                return((((float)num - float.Parse(x.Value[0])) / (float.Parse(x.Value[1]) - float.Parse(x.Value[0]))) * 100);
            }
        }


        return(-1);
    }
Example #2
0
    void ShowPro(ItemData idat, COM_Item c)
    {
        if (c.propArr.Length > 0)
        {
            for (int o = 0; o < cellList.Count; o++)
            {
                grid.RemoveChild(cellList[o].transform);
                cellList[o].transform.parent = null;
                cellList[o].gameObject.SetActive(false);
                cellPool.Add(cellList[o]);
            }
            cellList.Clear();
            for (int i = 0; i < c.propArr.Length; i++)
            {
                if (c.propArr[i].type_ == PropertyType.PT_Durability)
                {
                    continue;
                }
                GameObject objCell = null;
                if (cellPool.Count > 0)
                {
                    objCell = cellPool[0];
                    cellPool.Remove(objCell);
                    UIManager.RemoveButtonAllEventHandler(objCell);
                }
                else
                {
                    objCell = Object.Instantiate(proObj) as GameObject;
                    objCell.SetActive(true);
                }
                string sNum = "";
                if (c.propArr[i].value_ > 0)
                {
                    sNum = " +" + ((int)c.propArr[i].value_);
                }
                else
                {
                    sNum = " " + ((int)c.propArr[i].value_).ToString();
                }
                UILabel lable = objCell.GetComponent <UILabel>();
                lable.text = LanguageManager.instance.GetValue(c.propArr[i].type_.ToString()) + sNum;
                if (c.durability_ < c.durabilityMax_ / 2)
                {
                    lable.color = Color.red;
                }
                else if (ItemData.GetData((int)c.itemId_).mainType_ == ItemMainType.IMT_FuWen)
                {
                    lable.color = Color.grey;
                }
                else
                {
                    float perNum = EquipColorData.GetEquipPerNum(idat.level_, c.propArr[i].type_, c.propArr[i].value_);

                    if (perNum < 0)
                    {
                        lable.color = Color.grey;
                    }
                    else if (perNum < 24)
                    {
                        lable.color = Color.grey;
                    }
                    else if (perNum >= 25 && perNum <= 49)
                    {
                        lable.color = Color.green;
                    }
                    else if (perNum >= 50 && perNum <= 74)
                    {
                        lable.color = Color.blue;
                    }
                    else if (perNum >= 75 && perNum <= 84)
                    {
                        lable.color = Color.magenta;
                    }
                    else if (perNum >= 85 && perNum <= 94)
                    {
                        lable.color = Color.yellow;
                    }
                    else
                    {
                        lable.color = Color.white;
                        lable.text  = "[FECE29]" + lable.text;
                    }
                }
                proGrid.AddChild(objCell.transform);
                objCell.transform.localScale = Vector3.one;
                objCell.gameObject.SetActive(true);
                cellList.Add(objCell);
            }
            proGrid.Reposition();
        }
    }
Example #3
0
    public static void ParseData(string content, string fileName)
    {
        metaData = new Dictionary <int, EquipColorData> ();
        CSVParser parser = new CSVParser();

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

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

        for (int i = 0; i < recordCounter; ++i)
        {
            data     = new EquipColorData();
            data.id_ = parser.GetInt(i, "EquipLv");


            string   propSre = parser.GetString(i, "HpMax");
            string[] propValues;
            KeyValuePair <PropertyType, string[]> dataArr = new KeyValuePair <PropertyType, string[]>();
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "HpMax").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_HpMax, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "MpMax");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "MpMax").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_MpMax, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "Magicattack");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Magicattack").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Magicattack, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "Magicdefense");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Magicdefense").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Magicdefense, propValues);
                data.propArr.Add(dataArr);
            }



            propSre = parser.GetString(i, "Attack");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Attack").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Attack, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "Defense");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Defense").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Defense, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "Agile");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Agile").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Agile, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "Spirit");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Spirit").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Spirit, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "Reply");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Reply").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Reply, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "Hit");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Hit").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Hit, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "Dodge");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Dodge").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Dodge, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "Crit");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "Crit").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_Crit, propValues);
                data.propArr.Add(dataArr);
            }


            propSre = parser.GetString(i, "counterpunch");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "counterpunch").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_counterpunch, propValues);
                data.propArr.Add(dataArr);
            }


            propSre = parser.GetString(i, "NoSleep");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "NoSleep").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_NoSleep, propValues);
                data.propArr.Add(dataArr);
            }
            propSre = parser.GetString(i, "NoPetrifaction");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "NoPetrifaction").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_NoPetrifaction, propValues);
                data.propArr.Add(dataArr);
            }
            propSre = parser.GetString(i, "NoDrunk");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "NoDrunk").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_NoDrunk, propValues);
                data.propArr.Add(dataArr);
            }

            propSre = parser.GetString(i, "NoForget");
            if (!string.IsNullOrEmpty(propSre))
            {
                propValues = parser.GetString(i, "NoForget").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                dataArr    = new KeyValuePair <PropertyType, string[]>(PropertyType.PT_NoForget, propValues);
                data.propArr.Add(dataArr);
            }

            if (metaData.ContainsKey(data.id_))
            {
                ClientLog.Instance.LogError("equipColor" + ConfigLoader.Instance.csvext + "ID重复 " + data.id_);
                return;
            }
            metaData[data.id_] = data;
        }

        parser.Dispose();
        parser = null;
    }