Beispiel #1
0
    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 + "回合";
    }
Beispiel #2
0
    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()));
    }
Beispiel #3
0
    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("");
        }
    }