/// <summary> /// 冷却时间计算 /// 技能通用方法 /// 返回的是冷却时间百分比 /// </summary> public void makeTimeCanculate() { if (theStateNow == skillState.isReady) { timerForAdd = 0f; theStatePercent = 0f; } else if (theStateNow == skillState.isUsing) { timerForAdd += Time.deltaTime; if (timerForAdd < skillEffectTime) { theStatePercent = timerForAdd / skillEffectTime; } else { theStateNow = skillState.isCooling; OnCool(); } } else if (theStateNow == skillState.isCooling) { timerForAdd += Time.deltaTime; if (timerForAdd < skillAllTimer) { theStatePercent = 1f - (timerForAdd - skillEffectTime) / (skillAllTimer - skillEffectTime); } else { theStateNow = skillState.isReady; OnReady(); } } //print ("theStatePercent = "+theStatePercent); }
string[] EnumUse(skillState ss) { if (ss == skillState.パワーアタック) { string[] state = { "攻撃", "近接", "300", "強撃", "20" }; return(state); } else if (ss == skillState.パワーシュート) { string[] state = { "攻撃", "遠隔", "250", "強撃", "25" }; return(state); } else if (ss == skillState.リペア) { string[] state = { "補助", "回復", "60", "回復", "30" }; return(state); } else if (ss == skillState.ペネトレイト) { string[] state = { "攻撃", "遠隔", "200", "貫通", "30" }; return(state); } else if (ss == skillState.ジャミング) { string[] state = { "妨害", "近接", "30", "速度低下", "25" }; return(state); } return(null); }
public virtual void SkillEffect(float extradamage) { theStateNow = skillState.isUsing; } //真正的技能效果