Esempio n. 1
0
        public HeroEquipmentFormat GetEquipmentAfterReinforced(int selectLevel, HeroEquipmentFormat equipmentData)
        {
            HeroEquipmentFormat _newEquipment = equipmentData.CloneEx();
            var _equipmentReinforceRangeList  = EquipmentReinforceValueRangeTableReader.Instance.DefaultCachedList;
            var _equipmentReinforceRange      = _equipmentReinforceRangeList [selectLevel];

            // normal reinforce
            if (selectLevel <= (int)EQUIPMENT_REINFORCE_LEVEL.REINFORCE_BIG)
            {
                var _attributeOffset = ReinforcementByIncreaseAttributeValue(equipmentData, _equipmentReinforceRange);
                _newEquipment.EquipmentAttributeOffsetList.Add(_attributeOffset);
            }
            //miracle reinforce
            else if (selectLevel == (int)EQUIPMENT_REINFORCE_LEVEL.REINFORCE_MIRACLE)
            {
                //if base attribute list count is less than 4, add a attribute into base attribute list
                if (equipmentData.EquipmentAttributeBaseList.Count < EquipmentOthers.EQUIPMENT_REINFORCE_ATTRIBUTE_BASE_LIST_MAX)
                {
                    var _attributeNew = ReinforcementByIncreaseAttributeType(equipmentData);
                    _newEquipment.EquipmentAttributeBaseList.Add(_attributeNew);
                }
                // if base attribute list count is 4, same with normal but with different randon range
                else if (equipmentData.EquipmentAttributeBaseList.Count == EquipmentOthers.EQUIPMENT_REINFORCE_ATTRIBUTE_BASE_LIST_MAX)
                {
                    var _attributeOffset = ReinforcementByIncreaseAttributeValue(equipmentData, _equipmentReinforceRange);
                    _newEquipment.EquipmentAttributeOffsetList.Add(_attributeOffset);
                }
            }
            _newEquipment.ReinforcementLevel += 1;
            return(_newEquipment);
        }
Esempio n. 2
0
        public EquipmentAttribute ReinforcementByIncreaseAttributeType(HeroEquipmentFormat equipmentData)
        {
            var _randAttributeTypeList = EquipmentReinforceAttributeRangeTableReader.Instance.DefaultCachedList;
            List <EquipmentReinforceAttributeRangeTable> attributeRandomList = _randAttributeTypeList.CloneEx();

            for (int i = 0; i < _randAttributeTypeList.Count; i++)
            {
                for (int j = 0; j < equipmentData.EquipmentAttributeBaseList.Count; j++)
                {
                    //remove the type that already existed
                    if (_randAttributeTypeList [i].AttributeType == equipmentData.EquipmentAttributeBaseList [j].AttributeType)
                    {
                        attributeRandomList.Remove(_randAttributeTypeList [i]);
                    }
                }
            }

            //rand the new type from type list except the types that already exist
            int            _randTypeIndex = Random.Range(0, attributeRandomList.Count);
            ATTRIBUTE_TYPE _randType      = _randAttributeTypeList [_randTypeIndex].AttributeType;
            //rand the value
            int _randValue = Random.Range(_randAttributeTypeList [_randTypeIndex].RandMin, _randAttributeTypeList [_randTypeIndex].RandMax + 1);

            EquipmentAttribute _attributeOffset = new EquipmentAttribute(_randType, _randValue);

            return(_attributeOffset);
        }
Esempio n. 3
0
 public HeroEquipmentSaveDataFormat(HeroEquipmentFormat equipmentGameData)
 {
     this.DBEquipmentID                = equipmentGameData.DBEquipmentID;
     this.ReinforcementLevel           = equipmentGameData.ReinforcementLevel;
     this.EquipmentAttributeBaseList   = equipmentGameData.EquipmentAttributeBaseList.CloneEx();
     this.EquipmentAttributeOffsetList = equipmentGameData.EquipmentAttributeOffsetList.CloneEx();
 }
Esempio n. 4
0
        public EquipmentAttribute ReinforcementByIncreaseAttributeValue(HeroEquipmentFormat equipmentData, EquipmentReinforceValueRangeTable equipmentReinforceRange)
        {
            //random a type to reinforce
            int            _randTypeID      = Random.Range(0, equipmentData.EquipmentAttributeBaseList.Count);
            int            _normalAttribute = equipmentData.EquipmentAttributeBaseList [_randTypeID].Attribute;
            ATTRIBUTE_TYPE _type            = equipmentData.EquipmentAttributeBaseList [_randTypeID].AttributeType;
            //random value of the type
            double _randOffset = System.Math.Round(Random.Range(equipmentReinforceRange.RandMin, equipmentReinforceRange.RandMax), 2);
            int    _value      = equipmentReinforceRange.Base + Mathf.FloorToInt((float)(_normalAttribute * _randOffset));

            EquipmentAttribute _attributeOffset = new EquipmentAttribute(_type, _value);

            return(_attributeOffset);
        }
        public void LoadDataToDisplay(HeroEquipmentFormat equipmentData)
        {
            ReinforcementLevel.Clear();
            EquipmentIcon.IconDisplayOrNot(false);
            EquipmentName.NoEquipmentMessage();
            for (int i = 0; i < AttributeList.Length; i++)
            {
                AttributeList [i].DataClear();
            }

            this.selfEquipmentData = equipmentData;


            if (this.selfEquipmentData != null)
            {
                if (this.selfEquipmentData.ReinforcementLevel > 0)
                {
                    ReinforcementLevel.ShowAttributeNum(this.selfEquipmentData.ReinforcementLevel, true);
                }
                EquipmentIcon.IconDisplayOrNot(true);
                EquipmentIcon.ShowEquipmentIcon(this.selfEquipmentData.TexturePath, this.selfEquipmentData.TextureIconID);
                var _equipmentString = new MultiLangString <EquipmentStringsTable> ((ushort)this.selfEquipmentData.DBEquipmentID, EquipmentStringsTableReader.Instance);
                EquipmentName.ShowEquipmentName(_equipmentString);
                var _attributeBaseList   = this.selfEquipmentData.EquipmentAttributeBaseList;
                var _attributeOffsetList = this.selfEquipmentData.EquipmentAttributeOffsetList;
                for (int i = 0; i < _attributeBaseList.Count; i++)
                {
                    EquipmentAttribute _attributeOffset = new EquipmentAttribute(_attributeBaseList[i].AttributeType, 0);

                    for (int j = 0; j < _attributeOffsetList.Count; j++)
                    {
                        if (_attributeOffsetList [j].AttributeType == _attributeBaseList [i].AttributeType)
                        {
                            _attributeOffset.Attribute += _attributeOffsetList [j].Attribute;
                        }
                    }


                    AttributeList [i].AttributeDisplay(_attributeBaseList[i], _attributeOffset);
                }
            }
        }
Esempio n. 6
0
        public HeroEquipmentFormat GetEquipment(int heroSlotID, EQUIPMENT_TYPE equipmentType)
        {
            if (UserSaveDataManager.Instance == null)
            {
                UserSaveDataManager.Instance.InitUserData();
            }

            HeroDataFormat _hero = GetHeroData(heroSlotID);

            if (_hero == null)
            {
                return(null);
            }

            HeroEquipmentFormat _equipment = _hero.EquipmentList.Find(item => {
                return(item.EquipmentType == equipmentType);
            });

            return(_equipment);
        }
        public void SetDataForDisplay(HeroDataFormat heroDataFormat, HeroEquipmentFormat equipmentEquipped)
        {
            HeroAttributeFormat _heroAttributeFinal = heroDataFormat.AttributesWithEquipments;

            HPView.DataDisplayImmediately(_heroAttributeFinal.HPMax);
            RESView.DataDisplayImmediately(_heroAttributeFinal.RES);
            ATKView.DataDisplayImmediately(_heroAttributeFinal.ATK);
            MAGView.DataDisplayImmediately(_heroAttributeFinal.MAG);
            DEFView.DataDisplayImmediately(_heroAttributeFinal.DEF);
            ACView.DataDisplayImmediately(_heroAttributeFinal.AC);
            CRIView.DataDisplayImmediately(_heroAttributeFinal.CRI);
            PENView.DataDisplayImmediately(_heroAttributeFinal.PEN);
            HITView.DataDisplayImmediately(_heroAttributeFinal.HIT);
            AVDView.DataDisplayImmediately(_heroAttributeFinal.AVD);
            STRView.DataDisplayImmediately(_heroAttributeFinal.STR);
            INTView.DataDisplayImmediately(_heroAttributeFinal.INT);
            VITView.DataDisplayImmediately(_heroAttributeFinal.VIT);
            DEXView.DataDisplayImmediately(_heroAttributeFinal.DEX);
            EquipmentIcon.ShowEquipmentIcon(equipmentEquipped.TexturePath, equipmentEquipped.TextureIconID);
        }
Esempio n. 8
0
        public HeroEquipmentFormat GetRandomEquipmentByQualityGrade(EQUIPMENT_TYPE equipmentType, int quality)
        {
            var _equipmentTableList = EquipmentTableReader.Instance.FindDefault(equipmentType, (short)quality);

            int _weightMax = 0;

            for (int i = 0; i < _equipmentTableList.Count; i++)
            {
                _weightMax += _equipmentTableList [i].Weights;
            }

            int _random = Random.Range(1, _weightMax + 1);

            EquipmentTable _equipmentTable = null;
            int            point           = 0;

            for (int i = 0; i < _equipmentTableList.Count; i++)
            {
                if (point <= _random && _random <= point + _equipmentTableList [i].Weights)
                {
                    _equipmentTable = _equipmentTableList [i].CloneEx();
                    break;
                }
                point += _equipmentTableList [i].Weights;
            }

            var _equipmentAttributeList = EquipmentAttributesTableReader.Instance.FindDefaultByEquipmentID(_equipmentTable.ID);
            List <EquipmentAttribute> equipmentAttributeBaseList = new List <EquipmentAttribute> ();

            for (int i = 0; i < _equipmentAttributeList.Count; i++)
            {
                int attribute = CalculateAttributeOffSet(_equipmentAttributeList[i].ParameterA, _equipmentAttributeList[i].ParameterB);
                equipmentAttributeBaseList.Add(new EquipmentAttribute(_equipmentAttributeList[i].AttributeType, attribute));
            }

            List <EquipmentAttribute> _equipmentAttrubuteOffsetList = new List <EquipmentAttribute>();

            HeroEquipmentFormat _heroEquipment = new HeroEquipmentFormat(_equipmentTable, equipmentAttributeBaseList, _equipmentAttrubuteOffsetList);

            return(_heroEquipment);
        }
        public void DisplayWithUnequippedEquipment(HeroDataFormat heroDataFormat, HeroEquipmentFormat equipmentTakeOff)
        {
            var _heroAttributes = heroDataFormat.Attributes;

            List <HeroEquipmentFormat> _newEquipmentList = new List <HeroEquipmentFormat> ();

            _newEquipmentList.Add(equipmentTakeOff);
            for (int i = 0; i < heroDataFormat.EquipmentList.Count; i++)
            {
                if (heroDataFormat.EquipmentList [i].EquipmentType != equipmentTakeOff.EquipmentType)
                {
                    _newEquipmentList.Add(heroDataFormat.EquipmentList [i]);
                }
            }

            var _attributesWithNewEquipmentList = HeroDataManager.Instance.CalculateAttributesWithEquipments(_heroAttributes, _newEquipmentList.Cast <CommonEquipmentFormat>().ToList());

            var _attributesWithEquippedEquipmentList = heroDataFormat.AttributesWithEquipments;


            HPView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.HPMax, _attributesWithNewEquipmentList.HPMax);
            RESView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.RES, _attributesWithNewEquipmentList.RES);
            ATKView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.ATK, _attributesWithNewEquipmentList.ATK);
            MAGView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.MAG, _attributesWithNewEquipmentList.MAG);
            DEFView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.DEF, _attributesWithNewEquipmentList.DEF);
            ACView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.AC, _attributesWithNewEquipmentList.AC);
            CRIView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.CRI, _attributesWithNewEquipmentList.CRI);
            PENView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.PEN, _attributesWithNewEquipmentList.PEN);
            HITView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.HIT, _attributesWithNewEquipmentList.HIT);
            AVDView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.AVD, _attributesWithNewEquipmentList.AVD);
            STRView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.STR, _attributesWithNewEquipmentList.STR);
            INTView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.INT, _attributesWithNewEquipmentList.INT);
            VITView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.VIT, _attributesWithNewEquipmentList.VIT);
            DEXView.DataDisplayWithFormatWhenDifferent(_attributesWithEquippedEquipmentList.DEX, _attributesWithNewEquipmentList.DEX);
            EquipmentIcon.ShowEquipmentIcon(equipmentTakeOff.TexturePath, equipmentTakeOff.TextureIconID);
        }
Esempio n. 10
0
 public EquipmentReinforceData(HeroDataFormat heroData, HeroEquipmentFormat heroEquipmentData)
 {
     this.HeroData          = heroData;
     this.HeroEquipmentData = heroEquipmentData;
 }
Esempio n. 11
0
 public EquipmentBuildData(EQUIPMENT_TYPE equipmentType, HeroDataFormat heroData, HeroEquipmentFormat heroEquipmentData)
 {
     this.EquipmentType     = equipmentType;
     this.HeroData          = heroData;
     this.HeroEquipmentData = heroEquipmentData;
 }