Exemplo n.º 1
0
 public bool NotEquipment(EquipmentAttribute eq)
 {
     if (PropNull(1))
     {
         bool find = false;
         for (int j = 0; j < equipment.Length; j++)
         {
             if (equipment[j] == eq.id)
             {
                 equipment[j] = 0;
                 find         = true;
                 break;
             }
         }
         if (find == false)
         {
             for (int i = 0; i < weapon.Length; i++)
             {
                 if (weapon[i] == eq.id)
                 {
                     weapon[i] = 0;
                     break;
                 }
             }
         }
         AddProp(new GameNumber(eq.id, 1, AdditionalAttributeEnum.equipment));
         UpdateEquipmentAddition();
         return(true);
     }
     return(false);
 }
Exemplo 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);
        }
Exemplo n.º 3
0
        private void RefreshAttr()
        {
            //attrViewPrefab.gameObject.SetActive(true);
//			List<EquipmentAttribute> attrList = _equipInfo.EquipAttribute;
//			int count = attrList.Count;
//			for(int i = 0;i<count;i++)
//			{
//				EquipAttributeView view = Instantiate<EquipAttributeView>(attrViewPrefab);
//				view.transform.SetParent(attrRoot,false);
//				view.Set(attrList[i]);
//			}
            EquipmentAttribute attr = _equipInfo.MainAttribute;

            textAttrName.text  = attr.Name;
            textAttrValue.text = attr.ValueString;
            int special_hero = _equipInfo.equipmentData.special_hero;

            if (special_hero == 0)
            {
                textCareerType.text      = Localization.Get("equip_tips_careerlimit");
                textCareerTypeValue.text = Localization.Get(UIUtil.GetRoleTypeName(_equipInfo.equipmentData.equipmentRoleType));
            }
            else
            {
                textCareerType.text      = Localization.Get("equip_tips_herolimit");
                textCareerTypeValue.text = Localization.Get(Localization.Get(HeroData.GetHeroDataByID(special_hero).name));
            }
        }
Exemplo n.º 4
0
 public string GetCorrectEquipmentAttributeValue(EquipmentAttribute equipmentttribute)
 {
     //if l'enum de possible attribute contient _Percent alors on F2 (afficche que 2 décimal) sa valeur sinon on la round
     if (this.IsFloatEquipmentAttribute(equipmentttribute.WhichAttribute))
     {
         return(equipmentttribute.Value.ToString("F2"));
     }
     return((equipmentttribute.Value).ToString());
 }
Exemplo n.º 5
0
 public void OnAtk(EquipmentAttribute model, HexCell TargetCell)
 {
     //int[] _damage = model.GetDamage(DataModel.dataModel.baseAttribute);
     //DamageMessage damage = new DamageMessage(this, _damage, ResistanceEnum.none, null, null);
     //TargetCell.unit.Damage(damage);
     weapot.AtkTarget(model, TargetCell);
     ModelTransform.LookAt(TargetCell.transform);
     animation.SetTrigger(AnimatorManager.Attack);
 }
Exemplo n.º 6
0
    public bool UpdateWeapon(EquipmentAttribute newWeapon)
    {
        if (IsUserWeapon(newWeapon) == false)
        {
            return(false);
        }
        int[] oldWeapon = new int[2];
        switch (newWeapon.type)
        {
        case EquipmentEnum.danshou:
            if (weapon[0] != 0 && weapon[1] == 0)
            {
                oldWeapon[0] = weapon[1];
                weapon[1]    = newWeapon.id;
            }
            else
            {
                oldWeapon[0] = weapon[0];
                weapon[0]    = newWeapon.id;
            }
            break;

        case EquipmentEnum.zhushou:
            oldWeapon[0] = weapon[0];
            weapon[0]    = newWeapon.id;
            break;

        case EquipmentEnum.fushou:
            oldWeapon[0] = weapon[1];
            weapon[1]    = newWeapon.id;
            break;

        case EquipmentEnum.shuangshou:
            weapon.CopyTo(oldWeapon, 0);
            weapon[0] = newWeapon.id;
            weapon[1] = 0;
            break;

        default:
            oldWeapon[0] = equipment[(int)newWeapon.type];
            equipment[(int)newWeapon.type] = newWeapon.id;
            break;
        }
        for (int i = 0; i < oldWeapon.Length; i++)
        {
            if (oldWeapon[i] != 0)
            {
                AddProp(new GameNumber(oldWeapon[i], 1, AdditionalAttributeEnum.equipment));
            }
        }
        UpdateEquipmentAddition();
        return(true);
    }
Exemplo n.º 7
0
 public void UpdateWwapot(CharacterAttribute data)
 {
     //TODO
     if (Curren_L != null)
     {
         Curren_L.SetActive(false);
     }
     if (Curren_R != null)
     {
         Curren_R.SetActive(false);
     }
     if (data.weapon[0] != 0)
     {
         weapon = Manage.Instance.Data.GetObj <EquipmentAttribute>(data.weapon[0]);
         if (weapon != null)
         {
             foreach (var item in Weapot_R.Values)
             {
                 Curren_R = item.gameObject;
                 Curren_R.SetActive(true);
                 Trail = Curren_R.GetComponentInChildren <TrailRenderer_Base>();
                 break;
             }
         }
     }
     if (data.weapon[1] != 0)
     {
         EquipmentAttribute eq = Manage.Instance.Data.GetObj <EquipmentAttribute>(data.weapon[1]);
         if (eq != null)
         {
             if (eq.weaponType == weaponEnum.dun)
             {
                 foreach (var item in Shield_L.Values)
                 {
                     Curren_L = item.gameObject;
                     Curren_L.SetActive(true);
                     break;
                 }
             }
             else
             {
                 foreach (var item in Weapot_L.Values)
                 {
                     Curren_L = item.gameObject;
                     Curren_L.SetActive(true);
                     break;
                 }
             }
         }
     }
 }
Exemplo n.º 8
0
    private void Start()
    {
        //enemy = GameObject.Find("enemy(Clone)").GetComponent<EnemyStatus>();
        //turnScript = GameObject.Find("TurnSystem").GetComponent<TurnControl>();
        Weapon = GameObject.Find("Weapon(Clone)").GetComponent <EquipmentAttribute>();
        Head   = GameObject.Find("Head(Clone)").GetComponent <EquipmentAttribute>();
        Chest  = GameObject.Find("Chest(Clone)").GetComponent <EquipmentAttribute>();
        Leg    = GameObject.Find("Leg(Clone)").GetComponent <EquipmentAttribute>();
        Ring   = GameObject.Find("Ring(Clone)").GetComponent <EquipmentAttribute>();
        //getEnemyStatus(1);

        //makePlayerData();
        //heroData();
    }
Exemplo n.º 9
0
        public void AttributeDisplay(EquipmentAttribute equipmentBaseAttribute, EquipmentAttribute equipmentOffsetAttribute)
        {
            STRINGS_LABEL _label = EquipmentString.EquipmentAttributeStringDic[equipmentBaseAttribute.AttributeType];
            ushort        _ID    = StringsTableReader.Instance.FindID(_label);
            MultiLangString <StringsTable> _multi = new MultiLangString <StringsTable> (_ID, StringsTableReader.Instance);

            AttributeType.ShowEquipmentAttributeType(_multi);
            AttributeType.Display();
            BaseAttributeNum.ShowAttributeNum(equipmentBaseAttribute.Attribute);
            if (equipmentOffsetAttribute.Attribute > 0)
            {
                OffsetAttributeNum.ShowAttributeNum(equipmentOffsetAttribute.Attribute, true);
            }
        }
Exemplo n.º 10
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);
        }
Exemplo n.º 11
0
        public void DisplayData()
        {
            if (this.selfHeroData.EquipmentList != null && this.selfHeroData.EquipmentList.Count > 0)
            {
                for (int i = 0; i < this.selfHeroData.EquipmentList.Count; i++)
                {
                    if (this.selfHeroData.EquipmentList [i].EquipmentType == EquipmentType)
                    {
                        EquipmentIcon.IconDisplayOrNot(true);
                        EquipmentIcon.ShowEquipmentIcon(this.selfHeroData.EquipmentList [i].TexturePath, this.selfHeroData.EquipmentList [i].TextureIconID);
                        var _equipmentString = new MultiLangString <EquipmentStringsTable> ((ushort)this.selfHeroData.EquipmentList [i].DBEquipmentID, EquipmentStringsTableReader.Instance);
                        EquipmentName.ShowEquipmentName(_equipmentString);

                        //only the hero who is active can change equipments
                        if (this.selfHeroData.Attributes.Active)
                        {
                            ChangeButton.gameObject.SetActive(true);
                            ReinforceButton.gameObject.SetActive(true);
                            ChangeButton.EquipmentExistOrNot(true);
                            ReinforceButton.ButtonDisplayOrNot(true);
                        }

                        this.selfEquipmentData = this.selfHeroData.EquipmentList [i];
                        if (this.selfEquipmentData.ReinforcementLevel > 0)
                        {
                            ReinforcementLevel.ShowAttributeNum(this.selfEquipmentData.ReinforcementLevel, true);
                        }

                        var _attributeBaseList   = this.selfHeroData.EquipmentList [i].EquipmentAttributeBaseList;
                        var _attributeOffsetList = this.selfHeroData.EquipmentList [i].EquipmentAttributeOffsetList;
                        for (int j = 0; j < _attributeBaseList.Count; j++)
                        {
                            EquipmentAttribute _attributeOffset = new EquipmentAttribute(_attributeBaseList[j].AttributeType, 0);

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

                            AttributeList [j].AttributeDisplay(_attributeBaseList[j], _attributeOffset);
                        }
                    }
                }
            }
        }
Exemplo n.º 12
0
 void UpdateEquipmentAddition()
 {
     _EquipmentAddition = new BaseAttribute();
     for (int i = 0; i < equipment.Length; i++)
     {
         if (equipment[i] == 0)
         {
             continue;
         }
         EquipmentAttribute equi = Manage.Instance.Data.GetObj <EquipmentAttribute>(equipment[i]);
         if (equi == null)
         {
             continue;
         }
         _EquipmentAddition.UpdateAdditional(baseAttribute, equi.baseAttribute);
     }
 }
Exemplo n.º 13
0
        void OnUpdateEquipment()
        {
            for (int i = 0; i < character.dataModel.equipment.Length; i++)
            {
                EquipmentAttribute _att =
                    Manage.Instance.Data.GetObj <EquipmentAttribute>(character.dataModel.equipment[i]);
                _equipmentStats[i].Attribute = _att;
            }
            int index = _equipmentStats.Length - character.dataModel.weapon.Length;

            for (int i = 0; i < character.dataModel.weapon.Length; i++, index++)
            {
                EquipmentAttribute _att =
                    Manage.Instance.Data.GetObj <EquipmentAttribute>(character.dataModel.weapon[i]);
                _equipmentStats[index].Attribute = _att;
            }
        }
        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);
                }
            }
        }
Exemplo n.º 15
0
 public override void Enter(object[] obj)
 {
     model      = Manage.Instance.Data.GetObj <EquipmentAttribute>(owner.CurrentUnit.DataModel.dataModel.weapon[0]);
     TargetCell = null;
     if (obj.Length > 0)
     {
         TargetCell = obj[0] as HexCell;
         OnAtk();
         return;
     }
     FindAtkRange(model.GetValue(DataEnum.maxatkRange), model.GetValue(DataEnum.minatkRange));
     if (atkRange.Count == 0)
     {
         UpdatePrompt("范围内没有可以攻击的目标");
     }
     else
     {
         UpdatePrompt("选择一个攻击目标");
     }
     base.Enter(obj);
 }
Exemplo n.º 16
0
    public void Start()
    {
        Window win = new Window();

        win.contentPane = UIPackage.CreateObject("main", "BagWin").asCom;
        win.Center();
        win.modal = true;

        _list = win.contentPane.GetChild("list1").asList;

        Weapon  = (GameObject)Instantiate(Resources.Load("Prefabs/Weapon"));
        Head    = (GameObject)Instantiate(Resources.Load("Prefabs/Head"));
        Chest   = (GameObject)Instantiate(Resources.Load("Prefabs/Chest"));
        Leg     = (GameObject)Instantiate(Resources.Load("Prefabs/Leg"));
        Ring    = (GameObject)Instantiate(Resources.Load("Prefabs/Ring"));
        Weapon1 = GameObject.Find("Weapon(Clone)").GetComponent <EquipmentAttribute>();
        Head1   = GameObject.Find("Head(Clone)").GetComponent <EquipmentAttribute>();
        Chest1  = GameObject.Find("Chest(Clone)").GetComponent <EquipmentAttribute>();
        Leg1    = GameObject.Find("Leg(Clone)").GetComponent <EquipmentAttribute>();
        Ring1   = GameObject.Find("Ring(Clone)").GetComponent <EquipmentAttribute>();
    }
Exemplo n.º 17
0
        SkillAttribute SeleAction()
        {
            //List<SkillAttribute> AllSkill = new List<SkillAttribute>();
            //var _arraySkill = unit.DataModel.dataModel.skillArray;
            //for (int i = 0; i < _arraySkill.Length; i++)
            //{
            //    for (int j = 0; j < _arraySkill[i].skillAry.Count; j++)
            //    {
            //        AllSkill.Add(Manage.Instance.Data.GetObj<SkillAttribute>(_arraySkill[i].skillAry[j]));
            //    }
            //}
            //Unit targetUnit = owner.Unitmanager.GetMaxValue(owner.CurrentUnit);

            //暂时不用技能  直接攻击
            EquipmentAttribute eq = Manage.Instance.Data.GetObj <EquipmentAttribute>(owner.CurrentUnit.DataModel.dataModel.weapon[0]);

            move_minRange = 0;
            move_maxRange = unit.CurrentAP - eq.UseAP;
            atk_minRange  = eq.GetValue(DataEnum.minatkRange);
            atk_maxRange  = eq.GetValue(DataEnum.maxatkRange);
            return(null);
        }
Exemplo n.º 18
0
    public bool IsUserWeapon(EquipmentAttribute Weapon)
    {
        switch (Weapon.type)
        {
        case EquipmentEnum.zhushou:
            if (weapon[0] == 0)
            {
                return(true);
            }
            return(PropNull(1));

        case EquipmentEnum.fushou:
            if (weapon[1] == 0)
            {
                return(true);
            }
            return(PropNull(1));

        case EquipmentEnum.danshou:
            if (weapon[1] == 0 || weapon[0] == 0)
            {
                return(true);
            }
            return(PropNull(1));

        case EquipmentEnum.shuangshou:
            int number = 0;
            if (weapon[0] != 0)
            {
                number++;
            }
            if (weapon[1] != 0)
            {
                number++;
            }
            return(PropNull(number));
        }
        return(true);
    }
Exemplo n.º 19
0
        public void Set(EquipmentAttribute curAttri, int add = 0, bool ignoreAdd = true)
        {
            if (text_title != null)
            {
                text_title.text = curAttri.Name;
            }

            if (text_value != null)
            {
                text_value.text = curAttri.ValueString;
            }

            if (text_add != null)
            {
                if (ignoreAdd)
                {
                    text_add.text = string.Empty;
                }
                else
                {
                    text_add.text = string.Format("(+{0})", add);
                }
            }
        }
Exemplo n.º 20
0
    /// <summary>
    ///
    /// </summary>装备武器是否满足技能触发/使用条件
    /// <param name="dataModel"></param>
    /// <returns></returns>
    public bool IsNeedEquipment(CharacterAttribute character)
    {
        if (needEquipment == null || needEquipment.Length == 0)
        {
            return(true);
        }
        EquipmentAttribute equipment = null;

        switch (needEquipment[0])
        {
        case 1:
            if (character.weapon[0] == 0)
            {
                return(false);
            }
            equipment = Manage.Instance.Data.GetObj <EquipmentAttribute>(character.weapon[0]);
            if (equipment.IsMelee != 1)
            {
                return(false);
            }
            if (character.weapon[1] != 0)
            {
                equipment = Manage.Instance.Data.GetObj <EquipmentAttribute>(character.weapon[1]);
                if (equipment.IsMelee != 1)
                {
                    return(false);
                }
            }
            return(true);

        case 2:
            if (character.weapon[0] == 0)
            {
                return(false);
            }
            equipment = Manage.Instance.Data.GetObj <EquipmentAttribute>(character.weapon[0]);
            if ((int)equipment.type != needEquipment[1])
            {
                return(false);
            }
            if (character.weapon[1] != 0)
            {
                equipment = Manage.Instance.Data.GetObj <EquipmentAttribute>(character.weapon[1]);
                if ((int)equipment.type != needEquipment[1])
                {
                    return(false);
                }
            }
            return(true);

        case 3:
            if (character.weapon[0] == 0)
            {
                return(false);
            }
            equipment = Manage.Instance.Data.GetObj <EquipmentAttribute>(character.weapon[0]);
            if ((int)equipment.weaponType != needEquipment[1])
            {
                return(false);
            }
            if (character.weapon[1] != 0)
            {
                equipment = Manage.Instance.Data.GetObj <EquipmentAttribute>(character.weapon[1]);
                if ((int)equipment.weaponType != needEquipment[1])
                {
                    return(false);
                }
            }
            return(true);
        }
        return(false);
    }
Exemplo n.º 21
0
 public void AtkTarget(EquipmentAttribute model, HexCell TargetCell)
 {
     this.TargetCell = TargetCell;
     int[] _damage = model.GetDamage(unit.DataModel.dataModel.baseAttribute);
     damage = new DamageMessage(unit, _damage, ResistanceEnum.none, null, null);
 }
Exemplo n.º 22
0
 public float GetAttributeValue(EquipmentAttribute attri)
 {
     return(attri.Value);
 }