Пример #1
0
    //刷新翅膀总属性
    public void RefresWholeAttribute()
    {
        var dicAttr = new Dictionary <int, int>();
        var attrs   = new ObservableCollection <AttributeBaseDataModel>();
        var tbWing  = Table.GetWingQuality(DataModel.ItemData.ItemId);

        if (tbWing == null)
        {
            return;
        }

        PlayerAttr.FillWingAdvanceAttr(dicAttr, DataModel.ItemData);

        //培养属性
        for (var i = 0; i != 5; ++i)
        {
            var tbWingTrain = Table.GetWingTrain(DataModel.ItemData.ExtraData[1 + i * 2]);
            if (tbWingTrain == null)
            {
                continue;
            }
            for (var j = 0; j != tbWingTrain.AddPropID.Length; ++j)
            {
                var nAttrId = tbWingTrain.AddPropID[j];
                var nValue  = tbWingTrain.AddPropValue[j];
                if (nAttrId < 0 || nValue <= 0)
                {
                    break;
                }
                if (nValue > 0 && nAttrId != -1)
                {
                    if (nAttrId == 105)
                    {
                        if (dicAttr.ContainsKey(5))
                        {
                            dicAttr.modifyValue(5, nValue);
                        }
                        if (dicAttr.ContainsKey(6))
                        {
                            dicAttr.modifyValue(6, nValue);
                        }
                        if (dicAttr.ContainsKey(7))
                        {
                            dicAttr.modifyValue(7, nValue);
                        }
                        if (dicAttr.ContainsKey(8))
                        {
                            dicAttr.modifyValue(8, nValue);
                        }
                    }
                    else
                    {
                        dicAttr.modifyValue(nAttrId, nValue);
                    }
                }
            }
        }
        //翅膀战力
        DataModel.Fightforce = PlayerDataManager.Instance.GetAttrFightPoint(dicAttr);
        {
            // foreach(var i in dicAttr)
            var __enumerator1 = (dicAttr).GetEnumerator();
            while (__enumerator1.MoveNext())
            {
                var i = __enumerator1.Current;
                {
                    var attr = new AttributeBaseDataModel();
                    attr.Type  = i.Key;
                    attr.Value = i.Value;
                    attr.Value = FixAttributeValue(i.Key, attr.Value);
                    attrs.Add(attr);
                }
            }
        }
        DataModel.WholeAttributes = attrs;
    }
Пример #2
0
    public void RefreshData(UIInitArguments data)
    {
        var arg = data as WingInfogArguments;

        if (arg == null)
        {
            return;
        }
        var itemData = arg.ItemData;

        DataModel.ItemId = itemData.ItemId;
        var tbItem = Table.GetItemBase(itemData.ItemId);

        if (tbItem == null)
        {
            return;
        }
        var dicAttr = new Dictionary <int, int>();
        var attrs   = new List <AttributeBaseDataModel>();
        var tbWing  = Table.GetWingQuality(itemData.ItemId);

        //基础属性
        for (var i = 0; i != tbWing.AddPropID.Length; ++i)
        {
            var nAttrId = tbWing.AddPropID[i];
            if (nAttrId < 0)
            {
                break;
            }
            var nValue = tbWing.AddPropValue[i];
            if (nValue > 0 && nAttrId != -1)
            {
                dicAttr.modifyValue(nAttrId, nValue);
            }
        }
        //培养属性
        for (var i = 0; i != 5; ++i)
        {
            var tbWingTrain = Table.GetWingTrain(itemData.Exdata[1 + i * 2]);
            if (tbWingTrain == null)
            {
                continue;
            }
            for (var j = 0; j != tbWingTrain.AddPropID.Length; ++j)
            {
                var nAttrId = tbWingTrain.AddPropID[j];
                var nValue  = tbWingTrain.AddPropValue[j];
                if (nAttrId < 0 || nValue <= 0)
                {
                    break;
                }
                if (nValue > 0 && nAttrId != -1)
                {
                    if (nAttrId == 105)
                    {
                        if (dicAttr.ContainsKey(5))
                        {
                            dicAttr.modifyValue(5, nValue);
                        }
                        if (dicAttr.ContainsKey(6))
                        {
                            dicAttr.modifyValue(6, nValue);
                        }
                        if (dicAttr.ContainsKey(7))
                        {
                            dicAttr.modifyValue(7, nValue);
                        }
                        if (dicAttr.ContainsKey(8))
                        {
                            dicAttr.modifyValue(8, nValue);
                        }
                    }
                    else
                    {
                        dicAttr.modifyValue(nAttrId, nValue);
                    }
                }
            }
        }
        DataModel.FightPoint = PlayerDataManager.Instance.GetAttrFightPoint(dicAttr, arg.CharLevel);
        {
            // foreach(var i in dicAttr)
            var __enumerator1 = (dicAttr).GetEnumerator();
            while (__enumerator1.MoveNext())
            {
                var i = __enumerator1.Current;
                {
                    var attr = new AttributeBaseDataModel();
                    attr.Type  = i.Key;
                    attr.Value = i.Value;
                    attr.Value = FixAttributeValue(i.Key, attr.Value);
                    attrs.Add(attr);
                }
            }
        }
        //{0}:+{1}
        var strDic230025 = GameUtils.GetDictionaryText(230025);
        //{0}:{1}-{2}
        var strDic230033 = GameUtils.GetDictionaryText(230033);

        for (var i = 0; i < attrs.Count; i++)
        {
            var attr      = attrs[i];
            var attrType  = attr.Type;
            var attrName  = GameUtils.AttributeName(attrType);
            var attrValue = GameUtils.AttributeValue(attrType, attr.Value);
            var str       = "";
            if (attr.ValueEx == 0)
            {
                str = string.Format(strDic230025, attrName, attrValue);
            }
            else
            {
                var attrValueEx = GameUtils.AttributeValue(attrType, attr.ValueEx);
                str = string.Format(strDic230033, attrName, attrValue, attrValueEx);
            }
            DataModel.AttrStr[i] = str;
        }
        for (var i = attrs.Count; i < 15; i++)
        {
            DataModel.AttrStr[i] = "";
        }


        var role = tbItem.OccupationLimit;

        if (role != -1)
        {
            var tbCharacter = Table.GetCharacterBase(role);
            var roleType    = PlayerDataManager.Instance.GetRoleId();
            if (tbCharacter != null)
            {
                if (roleType != role)
                {
                    DataModel.ProfessionColor = MColor.red;
                }
                else
                {
                    DataModel.ProfessionColor = MColor.green;
                }
                DataModel.ProfessionLimit = tbCharacter.Name;
            }
        }
        else
        {
            DataModel.ProfessionLimit = GameUtils.GetDictionaryText(220700);
            DataModel.ProfessionColor = MColor.green;
        }

        var tbEquip = Table.GetEquipBase(tbItem.Exdata[0]);

        if (tbEquip == null)
        {
            return;
        }

        var strDic = GameUtils.GetDictionaryText(230004);

        DataModel.PhaseDesc = string.Format(strDic, GameUtils.NumEntoCh(tbEquip.Ladder));
    }
Пример #3
0
    public List <AttributeBaseDataModel> StatisticEquipAttribute(Dictionary <int, int> attributes,
                                                                 BagItemDataModel equipData,
                                                                 BagItemDataModel equipData1 = null)
    {
        var itemAttr = PlayerDataManager.Instance.GetEquipAttributeFix(equipData, mCharacterLevel);

        if (equipData1 != null)
        {
            var itemAttr1 = PlayerDataManager.Instance.GetEquipAttributeFix(equipData1, mCharacterLevel);
            {
                // foreach(var i in itemAttr1)
                var __enumerator1 = (itemAttr1).GetEnumerator();
                while (__enumerator1.MoveNext())
                {
                    var i = __enumerator1.Current;
                    {
                        itemAttr.modifyValue(i.Key, i.Value);
                    }
                }
            }
        }
        var roleId = PlayerDataManager.Instance.GetRoleId();

        var newAttrChg = new ObservableCollection <AttributeBaseDataModel>();
        {
            // foreach(var i in attributes)
            var __enumerator2 = (attributes).GetEnumerator();
            while (__enumerator2.MoveNext())
            {
                var i = __enumerator2.Current;
                {
                    if ((roleId == 0 || roleId == 2) && (i.Key == 7 || i.Key == 8))
                    {
                        continue;
                    }
                    if (roleId == 1 && (i.Key == 5 || i.Key == 6))
                    {
                        continue;
                    }
                    var find = false;
                    {
                        // foreach(var j in itemAttr)
                        var __enumerator6 = (itemAttr).GetEnumerator();
                        while (__enumerator6.MoveNext())
                        {
                            var j = __enumerator6.Current;
                            {
                                if (i.Key == j.Key)
                                {
                                    find = true;
                                    if (j.Value - i.Value != 0)
                                    {
                                        var info = new AttributeBaseDataModel();
                                        info.Type  = j.Key;
                                        info.Value = GameUtils.EquipAttrValueRefEx(j.Key, i.Value - j.Value);
                                        //info.Value = i.Value - j.Value;
                                        newAttrChg.Add(info);
                                    }
                                }
                            }
                        }
                    }
                    if (!find)
                    {
                        var info = new AttributeBaseDataModel();
                        info.Type  = i.Key;
                        info.Value = GameUtils.EquipAttrValueRefEx(i.Key, i.Value);
                        newAttrChg.Add(info);
                    }
                }
            }
        }
        {
            // foreach(var i in itemAttr)
            var __enumerator3 = (itemAttr).GetEnumerator();
            while (__enumerator3.MoveNext())
            {
                var i = __enumerator3.Current;
                {
                    if ((roleId == 0 || roleId == 2) && (i.Key == 7 || i.Key == 8))
                    {
                        continue;
                    }
                    if (roleId == 1 && (i.Key == 5 || i.Key == 6))
                    {
                        continue;
                    }
                    var find = false;
                    {
                        // foreach(var j in attributes)
                        var __enumerator7 = (attributes).GetEnumerator();
                        while (__enumerator7.MoveNext())
                        {
                            var j = __enumerator7.Current;
                            {
                                if (i.Key == j.Key)
                                {
                                    find = true;
                                }
                            }
                        }
                    }
                    if (!find)
                    {
                        var info = new AttributeBaseDataModel();
                        info.Type  = i.Key;
                        info.Value = GameUtils.EquipAttrValueRefEx(i.Key, -i.Value);
                        //info.Value = -i.Value;
                        newAttrChg.Add(info);
                    }
                }
            }
        }

        var newOrderAttrChg = newAttrChg.Where(info => info.Value > 0).ToList();

        newOrderAttrChg.AddRange(newAttrChg.Where(info => info.Value < 0));

        return(newOrderAttrChg);
    }