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); }
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); }
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)); } }
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()); }
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); }
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); }
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; } } } } }
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(); }
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); } }
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 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); } } } } }
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); } }
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); } } }
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); }
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>(); }
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); }
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); }
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); } } }
/// <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); }
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); }
public float GetAttributeValue(EquipmentAttribute attri) { return(attri.Value); }