コード例 #1
0
        private void OnClickReceive()
        {
            var _tbItem = Table.GetItemBase(DataModel.ItemData.ItemId);

            if (_tbItem == null)
            {
                return;
            }
            if (_tbItem.GetWay != -1)
            {
                DataModel.IsShowGetPath = true;
                DataModel.GetPathList.Clear();
                var _list = new List <ItemGetPathDataModel>();
                int leng  = (int)UIManager.GetInstance().GetController(UIConfig.ItemInfoGetUI).CallFromOtherClass("GetPathCount", null);
                for (var i = 0; i < leng; i++)
                {
                    var _isShow = BitFlag.GetLow(_tbItem.GetWay, i);
                    if (_isShow)
                    {
                        var _tbItemGetInfo = Table.GetItemGetInfo(i);
                        if (_tbItemGetInfo != null)
                        {
                            var _item = new ItemGetPathDataModel();
                            _item.ItemGetId = i;
                            _list.Add(_item);
                        }
                    }
                }
                DataModel.GetPathList = new ObservableCollection <ItemGetPathDataModel>(_list);
            }
        }
コード例 #2
0
    public void OnClickGet()
    {
        var tbItem = Table.GetItemBase(DataModel.ItemData.ItemId);

        if (tbItem == null)
        {
            return;
        }
        if (tbItem.GetWay != -1)
        {
            DataModel.IsShowGetPath = true;
            DataModel.GetPathList.Clear();
            var list = new List <ItemGetPathDataModel>();
            for (var i = 0; i < ItemInfoGetController.GET_PATH_COUNT; i++)
            {
                var isShow = BitFlag.GetLow(tbItem.GetWay, i);
                if (isShow)
                {
                    var tbItemGetInfo = Table.GetItemGetInfo(i);
                    if (tbItemGetInfo != null)
                    {
                        var item = new ItemGetPathDataModel();
                        item.ItemGetId = i;
                        list.Add(item);
                    }
                }
            }
            DataModel.GetPathList = new ObservableCollection <ItemGetPathDataModel>(list);
        }
    }
コード例 #3
0
        public void RefreshData(UIInitArguments data)
        {
            var arg = data as ItemInfoGetArguments;

            if (arg == null)
            {
                return;
            }
            DataModel.GetPathList.Clear();
            if (arg.ItemId != -1)
            {
                DataModel.ItemData.ItemId = arg.ItemId;
            }
            if (arg.ItemData != null)
            {
                DataModel.ItemData = arg.ItemData;
            }
            var tbItem = Table.GetItemBase(DataModel.ItemData.ItemId);

            if (tbItem == null)
            {
                return;
            }
            //显示获取途径
            if (tbItem.GetWay != -1)
            {
                var count = 0;
                var list  = new List <ItemGetPathDataModel>();
                for (var i = 0; i < GET_PATH_COUNT; i++)
                {
                    var isShow = BitFlag.GetLow(tbItem.GetWay, i);
                    if (isShow)
                    {
                        var tbItemGetInfo = Table.GetItemGetInfo(i);
                        if (tbItemGetInfo != null)
                        {
                            var item = new ItemGetPathDataModel();
                            item.ItemGetId = i;
                            list.Add(item);
                        }
                    }
                }
                DataModel.GetPathList = new ObservableCollection <ItemGetPathDataModel>(list);
            }
        }
コード例 #4
0
        public void RefreshData(UIInitArguments data)
        {
            var args = data as EquipInfoArguments;

            if (args == null)
            {
                return;
            }

            var type = args.Type;

            if (mIsInit)
            {
                InitStr();
            }
            var itemId = args.ItemId;
            //int itemId = 304001;
            var tbItem = Table.GetItemBase(itemId);

            if (tbItem == null)
            {
                return;
            }
            DataModel.BuffId = -1;
            var equipId = tbItem.Exdata[0];
            var tbEquip = Table.GetEquipBase(equipId);

            if (tbEquip != null)
            {
                DataModel.BuffLevel = tbEquip.AddBuffSkillLevel;

                if (tbEquip.BuffGroupId >= 0)
                {
                    var tbBuffGroup = Table.GetBuffGroup(tbEquip.BuffGroupId);
                    if (tbBuffGroup != null && tbBuffGroup.BuffID.Count == 1)
                    {
                        DataModel.BuffId = tbBuffGroup.BuffID[0];
                    }
                    else
                    {
                        DataModel.BuffId = 8999;
                    }
                }
            }

            if (tbEquip.FIghtNumDesc == -1)
            {
                DataModel.FightNum = "?????";
            }
            else
            {
                DataModel.FightNum = tbEquip.FIghtNumDesc.ToString();
            }

            if (tbEquip == null)
            {
                return;
            }
            DataModel.ItemId        = itemId;
            DataModel.EquipId       = equipId;
            DataModel.EnchanceLevel = 0;

            //套装展示特殊装备
            if (args.Exdata != null)
            {
                DataModel.EnchanceLevel = (int)args.Exdata;
                DataModel.IsExaddShow   = true;
                if (tbItem.GetWay == -1)
                {
                    DataModel.IsShowGetPath = false;
                }
                else
                {
                    DataModel.IsShowGetPath = true;
                    DataModel.GetPathList.Clear();
                    var list = new List <ItemGetPathDataModel>();
                    for (var i = 0; i < GET_PATH_COUNT; i++)
                    {
                        var isShow = BitFlag.GetLow(tbItem.GetWay, i);
                        if (isShow)
                        {
                            var tbItemGetInfo = Table.GetItemGetInfo(i);
                            if (tbItemGetInfo != null)
                            {
                                var item = new ItemGetPathDataModel();
                                item.ItemGetId = i;
                                list.Add(item);
                            }
                        }
                    }
                    DataModel.GetPathList = new ObservableCollection <ItemGetPathDataModel>(list);
                }
            }

            DataModel.CanUseLevel = PlayerDataManager.Instance.GetLevel() < tbItem.UseLevel ? 1 : 0;
            //职业符合不?
            if (tbEquip.Occupation != -1)
            {
                DataModel.CanRole = PlayerDataManager.Instance.GetRoleId() == tbEquip.Occupation ? 0 : 1;
            }
            var strDic = GameUtils.GetDictionaryText(230004);

            DataModel.PhaseDesc = string.Format(strDic, GameUtils.NumEntoCh(tbEquip.Ladder));

            strDic = GameUtils.GetDictionaryText(230006);

            for (var i = 0; i != 2; ++i)
            {
                var attrId = tbEquip.NeedAttrId[i];
                if (attrId != -1)
                {
                    var attrValue     = tbEquip.NeedAttrValue[i];
                    var selfAttrValue = PlayerDataManager.Instance.GetAttribute(attrId);
                    var needStr       = string.Format(strDic, GameUtils.AttributeName(attrId), selfAttrValue, attrValue);

                    if (selfAttrValue < attrValue)
                    {
                        DataModel.NeedAttr[i] = string.Format("[FF0000]{0}[-]", needStr);
                    }
                    else
                    {
                        DataModel.NeedAttr[i] = string.Format("[00FF00]{0}[-]", needStr);
                    }
                }
                else
                {
                    DataModel.NeedAttr[i] = "";
                }
            }

            var enchanceLevel = DataModel.EnchanceLevel;

            for (var i = 0; i < 4; i++)
            {
                var nAttrId = tbEquip.BaseAttr[i];
                if (nAttrId != -1)
                {
                    var baseValue   = tbEquip.BaseValue[i];
                    var changeValue = 0;
                    if (enchanceLevel > 0)
                    {
                        changeValue = GameUtils.GetBaseAttr(tbEquip, enchanceLevel, i, nAttrId) - baseValue;
                    }
                    GameUtils.SetAttribute(DataModel.BaseAttr, i, nAttrId, baseValue, changeValue);
                }
                else
                {
                    DataModel.BaseAttr[i].Reset();
                }
            }
            for (var i = 0; i < 4; i++)
            {
                var attrData = DataModel.BaseAttr[i];
                var nAttrId  = attrData.Type;
                if (nAttrId != -1)
                {
                    var attrName  = GameUtils.AttributeName(nAttrId);
                    var attrValue = GameUtils.AttributeValue(nAttrId, attrData.Value);

                    if (attrData.ValueEx != 0)
                    {
                        if (attrData.Change != 0 || attrData.ChangeEx != 0)
                        {
                            var attrValueEx  = GameUtils.AttributeValue(nAttrId, attrData.ValueEx);
                            var attrChange   = GameUtils.AttributeValue(nAttrId, attrData.Change);
                            var attrChangeEx = GameUtils.AttributeValue(nAttrId, attrData.ChangeEx);
                            //rDic = "{0}+:{1}[00ff00](+{2})[-]-{3}[00ff00](+{4})[-]";
                            strDic = StrDic230034;
                            DataModel.BaseAttrStr[i] = string.Format(strDic, attrName, attrValue, attrChange, attrValueEx,
                                                                     attrChangeEx);
                        }
                        else
                        {
                            var attrValueEx = GameUtils.AttributeValue(nAttrId, attrData.ValueEx);
                            //strDic = "{0}+:{1}-{2}";
                            strDic = StrDic230033;
                            DataModel.BaseAttrStr[i] = string.Format(strDic, attrName, attrValue, attrValueEx);
                        }
                    }
                    else
                    {
                        if (attrData.Change != 0 || attrData.ChangeEx != 0)
                        {
                            var attrChange = GameUtils.AttributeValue(nAttrId, attrData.Change);
                            //strDic = "{0}+:{1}[00ff00](+{2})[-]";
                            strDic = StrDic230032;
                            DataModel.BaseAttrStr[i] = string.Format(strDic, attrName, attrValue, attrChange);
                        }
                        else
                        {
                            //strDic = "{0}+:{1}";
                            strDic = StrDic230025;
                            DataModel.BaseAttrStr[i] = string.Format(strDic, attrName, attrValue);
                        }
                    }
                }
                else
                {
                    DataModel.BaseAttrStr[i] = "";
                }
            }

            strDic = StrDic230025;
            //strDic = "{0}+:{1}";
            for (var i = 0; i != 2; ++i)
            {
                var nAttrId = tbEquip.BaseFixedAttrId[i];
                if (nAttrId != -1)
                {
                    var attrName  = GameUtils.AttributeName(nAttrId);
                    var attrValue = GameUtils.AttributeValue(nAttrId, tbEquip.BaseFixedAttrValue[i]);
                    DataModel.AddAttrStr[i] = string.Format(strDic, attrName, attrValue);
                }
                else
                {
                    DataModel.AddAttrStr[i] = "";
                }
            }

            //灵魂、卓越、字符串显示
            DataModel.StrExcellent = "";
            DataModel.StrSoul      = "";
            var min     = 0;
            var minbool = false;
            var max     = 0;

            if (type == 1)
            {
                //取决于材料
                DataModel.StrAppend = GameUtils.GetDictionaryText(300836);
            }
            else
            {
                if (args.Exdata == null)
                {
                    //随机数值
                    if (tbEquip.JingLianDescId == -1)
                    {
                        DataModel.StrAppend = GameUtils.GetDictionaryText(300837);
                    }
                    else
                    {
                        DataModel.StrAppend = tbEquip.JingLianDescId.ToString();
                    }
                }
                else
                {
                    DataModel.StrAppend = string.Empty;
                }
            }


            if (type == 1)
            {
                //取决于材料装备
                DataModel.StrExcellent = GameUtils.GetDictionaryText(300838);
            }
            else
            {
                if (tbEquip.ExcellentAttrCount != -1)
                {
                    var tbEquipRalate = Table.GetEquipRelate(tbEquip.ExcellentAttrCount);
                    if (tbEquipRalate == null)
                    {
                        return;
                    }
                    for (var i = 0; i < tbEquipRalate.AttrCount.Length; i++)
                    {
                        if (tbEquipRalate.AttrCount[i] > 0)
                        {
                            max = i;
                            if (!minbool)
                            {
                                minbool = true;
                                min     = i;
                            }
                        }
                    }
                    if (min != 0)
                    {
                        if (tbEquip.ZhuoYueDescId == -1)
                        {
                            if (min == max)
                            {
                                DataModel.StrExcellent = min + GameUtils.GetDictionaryText(300839); //"条随机属性";
                            }
                            else
                            {
                                DataModel.StrExcellent = string.Format("{0}-{1}" + GameUtils.GetDictionaryText(300839), min, max);
                            }
                            DataModel.ExcellentHeight = 16;
                        }
                        else
                        {
                            DataModel.StrExcellent = GameUtils.GetDictionaryText(tbEquip.ZhuoYueDescId); //"条随机属性";
                            string[] subts = DataModel.StrExcellent.Split('\n');
                            DataModel.ExcellentHeight = (subts.Length) * 16;
                        }
                    }
                }
            }


            if (type == 1)
            {
                DataModel.StrSoul = GameUtils.GetDictionaryText(300840);
            }
            else
            {
                if (tbEquip.RandomAttrCount != -1)
                {
                    var tbEquipRalate = Table.GetEquipRelate(tbEquip.RandomAttrCount);
                    if (tbEquipRalate == null)
                    {
                        return;
                    }
                    min     = 0;
                    minbool = false;
                    max     = 0;
                    for (var i = 0; i < tbEquipRalate.AttrCount.Length; i++)
                    {
                        if (tbEquipRalate.AttrCount[i] > 0)
                        {
                            max = i;
                            if (!minbool)
                            {
                                minbool = true;
                                min     = i;
                            }
                        }
                    }
                    if (min != 0)
                    {
                        if (tbEquip.LingHunDescId == -1)
                        {
                            if (min == max)
                            {
                                DataModel.StrSoul = min + GameUtils.GetDictionaryText(300839); //"条随机属性";
                            }
                            else
                            {
                                DataModel.StrSoul = string.Format("{0}-{1}" + GameUtils.GetDictionaryText(300839), min, max);
                            }
                            DataModel.SouleHeight = 16;
                        }
                        else
                        {
                            DataModel.StrSoul = GameUtils.GetDictionaryText(tbEquip.LingHunDescId); //"条随机属性";
                            string[] subts = DataModel.StrExcellent.Split('\n');
                            DataModel.SouleHeight = (subts.Length) * 16;
                        }
                    }
                }
            }


            //套装相关
            for (var i = 0; i < 10; i++)
            {
                DataModel.TieCount[i] = 0;
            }
            DataModel.TieId = tbEquip.TieId;
            var nNowTieCount = 0;

            for (var i = 0; i != 4; ++i)
            {
                DataModel.TieAttrCount[i] = 0;
            }

            if (tbEquip.TieId == -1)
            {
                return;
            }
            var tbTie = Table.GetEquipTie(tbEquip.TieId);

            if (tbTie == null)
            {
                return;
            }

            PlayerDataManager.Instance.ForeachEquip(item =>
            {
                var ItemId = item.ItemId;
                if (ItemId == -1)
                {
                    return;
                }
                var tbTieItem = Table.GetItemBase(ItemId);
                if (tbTieItem == null)
                {
                    return;
                }
                var tbTieEquip = Table.GetEquipBase(tbTieItem.Exdata[0]);
                if (tbTieEquip == null)
                {
                    return;
                }
                if (tbEquip.TieId == tbTieEquip.TieId)
                {
                    DataModel.TieCount[tbTieEquip.TieIndex] = 1;
                    nNowTieCount++;
                }
            });

            DataModel.TieNowCount = nNowTieCount;
            for (var i = 0; i != 4; ++i)
            {
                if (nNowTieCount >= tbTie.NeedCount[i])
                {
                    DataModel.TieAttrCount[i] = 1;
                }
            }
        }