|
@@ -38,7 +38,7 @@ public class BigSkill : Skill
|
|
|
Timer = CD * (1 + CdBuff);
|
|
|
ManaData.CoolList.Add(this);
|
|
|
}
|
|
|
- else if (_BarSkillStatus == SkillStatus.Ready)
|
|
|
+ else if (_BarSkillStatus == SkillStatus.Buy)
|
|
|
{
|
|
|
if (Class != SkillClass.Null) //有技能条
|
|
|
{
|
|
@@ -52,7 +52,7 @@ public class BigSkill : Skill
|
|
|
BarLab.text = "";
|
|
|
//BarLab.text = Name;
|
|
|
}
|
|
|
- else if (ItemSkillStatus == SkillStatus.Ready) //需要购买
|
|
|
+ else if (ItemSkillStatus == SkillStatus.Buy) //需要购买
|
|
|
{
|
|
|
BarBk0.SetActive(false);
|
|
|
BarBk1.SetActive(true);
|
|
@@ -83,6 +83,10 @@ public class BigSkill : Skill
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
+ else if (_BarSkillStatus == SkillStatus.Use)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
throw new Exception();
|
|
@@ -132,6 +136,12 @@ public class BigSkill : Skill
|
|
|
}
|
|
|
|
|
|
|
|
|
+ public override void Annul()
|
|
|
+ {
|
|
|
+ BarLab.color = new Color(1, 1, 1, 1);
|
|
|
+ BarSkillStatus = SkillStatus.CD;
|
|
|
+ }
|
|
|
+
|
|
|
protected override void RegistValue()
|
|
|
{
|
|
|
Level = 0;
|
|
@@ -169,8 +179,6 @@ public class BigSkill : Skill
|
|
|
{
|
|
|
BarBk1.sprite = ManaReso.Load<Sprite>(Icon + "副", Folder.Skill);
|
|
|
}
|
|
|
-
|
|
|
- BarSkillStatus = SkillStatus.Ready;
|
|
|
}
|
|
|
|
|
|
protected override void RegistReference()
|
|
@@ -179,6 +187,37 @@ public class BigSkill : Skill
|
|
|
}
|
|
|
|
|
|
|
|
|
+ public override void Cool(float amt, bool isCurrent, bool isBuff)
|
|
|
+ {
|
|
|
+ if (!ReduceCD && BarSkillStatus == SkillStatus.CD)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isCurrent) //减少当前值
|
|
|
+ {
|
|
|
+ if (isBuff) //按比例减少
|
|
|
+ {
|
|
|
+ Timer -= CD * amt;
|
|
|
+ }
|
|
|
+ else //按数值减少
|
|
|
+ {
|
|
|
+ Timer -= amt;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else //减少最大值
|
|
|
+ {
|
|
|
+ if (isBuff) //按比例减少
|
|
|
+ {
|
|
|
+ CdBuff -= amt;
|
|
|
+ }
|
|
|
+ else //按数值减少
|
|
|
+ {
|
|
|
+ CD -= amt;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public override bool Cool()
|
|
|
{
|
|
|
Timer -= Time.deltaTime;
|
|
@@ -191,7 +230,7 @@ public class BigSkill : Skill
|
|
|
|
|
|
if (Timer <= 0)
|
|
|
{
|
|
|
- BarSkillStatus = SkillStatus.Ready;
|
|
|
+ BarSkillStatus = SkillStatus.Buy;
|
|
|
|
|
|
return true;
|
|
|
}
|
|
@@ -204,23 +243,34 @@ public class BigSkill : Skill
|
|
|
|
|
|
protected void TryActivate()
|
|
|
{
|
|
|
- if (BarSkillStatus == SkillStatus.Ready)
|
|
|
- {
|
|
|
- BarSkillStatus = SkillStatus.Ready;
|
|
|
- }
|
|
|
+ BarSkillStatus = SkillStatus.Buy;
|
|
|
}
|
|
|
|
|
|
protected override void Use()
|
|
|
{
|
|
|
+ if (BarSkillStatus == SkillStatus.Use)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
if (ManaData.Pay(UseAmt, UseCur))
|
|
|
{
|
|
|
- BarSkillStatus = SkillStatus.CD;
|
|
|
+ if (Math.Abs(Duration) < 0.0005f)
|
|
|
+ {
|
|
|
+ BarSkillStatus = SkillStatus.CD;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ BarSkillStatus = SkillStatus.Use;
|
|
|
+ BarLab.color = new Color(38/255f, 155/255f, 1, 1);
|
|
|
+ }
|
|
|
|
|
|
SkillProcessor processor = new SkillProcessor();
|
|
|
|
|
|
processor.Name = Name;
|
|
|
+ processor.SkillRoot = this;
|
|
|
+ processor.TimerLab = BarLab;
|
|
|
processor.IsCurrent = true;
|
|
|
- processor.IsPermanent = false;
|
|
|
|
|
|
processor.Plus = NewPlus;
|
|
|
processor.SkillCdBuff = NewSkillCdBuff;
|
|
@@ -243,6 +293,17 @@ public class BigSkill : Skill
|
|
|
if (ManaData.Pay(UnlockAmt, UnlockCur))
|
|
|
{
|
|
|
TryActivate();
|
|
|
+
|
|
|
+ if (!ManaData.SkillBarValid)
|
|
|
+ {
|
|
|
+ RectTransform skillBar = ManaReso.Get<RectTransform>("F_SkillBar");
|
|
|
+ RectTransform gardenScrr = ManaReso.Get<RectTransform>("Fa_GardenScrr");
|
|
|
+
|
|
|
+ skillBar.SetActive(true);
|
|
|
+ gardenScrr.offsetMax += new Vector2(0, -skillBar.rect.height);
|
|
|
+
|
|
|
+ ManaData.SkillBarValid = true;
|
|
|
+ }
|
|
|
|
|
|
if (Class != SkillClass.Null) //该技能有技能条
|
|
|
{
|
|
@@ -257,7 +318,7 @@ public class BigSkill : Skill
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ItemSkillStatus = SkillStatus.Ready;
|
|
|
+ ItemSkillStatus = SkillStatus.Buy;
|
|
|
}
|
|
|
|
|
|
ManaLog.Log(string.Format("技能<color=red>{0}</color>已解锁", Name));
|