123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using UnityEngine;
- using UnityEngine.UI;
- using System.Collections;
- public class PowerMenuItem : MonoBehaviour {
- public Image icon;
- public Text text;
- public void SetData(Power power)
- {
- string info = power.GetName();
- info += AddDamage(power);
- text.text = info;
- icon.sprite = power.GetIcon();
- }
- private string AddDamage(Power power)
- {
- string info = "";
- if(!StringUtil.Empty(power.GetDescription()))
- info += "\n"+power.GetDescription();
- if(power.GetPowerType() != Power.PowerType.Summon)
- {
- info += "\n";
- info += Language.GetStr("Power", "target");
- info += Language.GetStr("Power", "target"+power.GetTargetRange().ToString());
- string side = TargetType.IsContainTarget(TargetType.ENEMY, power.targetType) ? Language.GetStr("Power", "opp") : Language.GetStr("Power", "ally");
- info = info.Replace("%SIDE%", side);
- }
- string paramInfo = "";
- if(power.GetValue() > 0)
- {
- if(power.GetValueType() == Power.ValueType.Constant)
- {
- paramInfo += Language.GetStr("Power", power.GetPowerEffect().ToString().ToLower()).Replace("%VALUE%", power.GetValue().ToString());
- }
- else if(power.GetValueType() == Power.ValueType.Percent)
- {
- paramInfo += Language.GetStr("Power", power.GetPowerEffect().ToString().ToLower()).Replace("%VALUE%", power.GetValue().ToString()+"%");
- }
- }
- if(power.GetDistance() > 0)
- {
- paramInfo += StringUtil.Empty(paramInfo) ? "" : " ";
- paramInfo += Language.GetStr("Power", "range").Replace("%RANGE%", power.GetDistance().ToString());
- }
- if(power.GetTargetLimit() > 0 && power.GetTargetLimit() != int.MaxValue)
- {
- paramInfo += StringUtil.Empty(paramInfo) ? "" : " ";
- paramInfo += Language.GetStr("Power", "targetLimit").Replace("%NUM%", power.GetTargetLimit().ToString());
- }
- else if(power.GetTargetRange() != Power.TargetRange.SingleObject && power.GetTargetRange() != Power.TargetRange.Self)
- {
- paramInfo += StringUtil.Empty(paramInfo) ? "" : " ";
- paramInfo += Language.GetStr("Power", "targetUnlimit");
- }
- if(!StringUtil.Empty(paramInfo))
- info += "\n"+paramInfo;
- info += "\n"+Language.GetStr("Power", "cd").Replace("%CD%", power.GetCDDuration().ToString());
- return info;
- }
- }
|