public override void OnUpdate() { if (gameObject.activeSelf == false) { return; } while (briskLabel.Count > 0) { Text label = briskLabel.Dequeue(); label.gameObject.SetActive(false); IdelLabel.Enqueue(label); } name_text.text = model.name; GetLabel.text = model.GetEffect(attributeModel); GetLabel.text = ""; GetLabel.text = "持续时间:" + model.Duration + "回合"; }
public string GetEffect(BaseAttribute _attribute) { List <string> obj = new List <string>(); if (startValue.Length > 0) { //造成{0}伤害 int[] damage = GetDamage(_attribute); obj.Add(damage[0].ToString()); obj.Add(damage[1].ToString()); } for (int i = 0; i < buff.Count; i++) { //{0}%几率添加{1},持续{2}回合 obj.Add(buff[i].data[0].ToString() + "%"); BuffModel _buff = Manage.Instance.Data.GetObj <BuffModel>(buff[i].data[1]); obj.Add(_buff.name); obj.Add(_buff.GetEffect(_attribute)); obj.Add(buff[i].data[2].ToString()); } return(string.Format(effect.Replace("~", ","), obj.ToArray())); }
public string GetEffect(BaseAttribute _attribute) { List <string> obj = new List <string>(); for (int i = 0; i < effectType.Length; i++) { BuffModel _buff = null; if (buff.Count > 0) { //TODO 先只有一个buff _buff = Manage.Instance.Data.GetObj <BuffModel>(buff[0].data[1]); } switch (effectType[i]) { case 1: int[] damage = GetDamage(_attribute); obj.Add(damage[0].ToString()); obj.Add(damage[1].ToString()); break; case 2: obj.Add(DataName.GetColor(_buff.name, _buff.name)); break; case 3: obj.Add(DataName.GetColor(_buff.name, buff[0].data[2].ToString())); break; case 4: obj.Add(_buff.GetEffect(_attribute)); break; case 5: for (int j = 0; j < startValue.Length; j++) { obj.Add(startValue[j].ToString()); } break; case 6: for (int j = 0; j < additionalAttribute.data.Count; j++) { string str = additionalAttribute.data[j].GetValue().ToString(); if (additionalAttribute.data[j].ratio) { str += "%"; } obj.Add(str); } for (int j = 0; j < additionalAttribute.attribute.Count; j++) { string str = additionalAttribute.data[j].GetValue().ToString(); if (additionalAttribute.data[j].ratio) { str += "%"; } obj.Add(str); } for (int j = 0; j < additionalAttribute.resistance.Count; j++) { string str = additionalAttribute.data[j].GetValue().ToString(); if (additionalAttribute.data[j].ratio) { str += "%"; } obj.Add(str); } for (int j = 0; j < additionalAttribute.skill.Count; j++) { string str = additionalAttribute.data[j].GetValue().ToString(); if (additionalAttribute.data[j].ratio) { str += "%"; } obj.Add(str); } break; } } try { string[] str = obj.ToArray(); effect = effect.Replace("~", ","); return(string.Format(effect, str)); } catch { string s = effect; return(""); } }