public RecoveryCooldown(float cooldown, Ability parentAbility, AbilityRecoveryManager manager) : base(parentAbility, manager) { Stats = new StatCollection(ParentAbility.Source, OnStatChanged); Stats.AddStat(BaseStat.StatType.CoolDown, cooldown); coolDownTimer = new Timer("Cooldown", cooldown, true, Refresh); }
public Ability(AbilityData data, GameObject source) { abilityData = data; AbilityID = IDFactory.GenerateAbilityID(); Source = source; EffectManager = new EffectManager(this); RecoveryManager = new AbilityRecoveryManager(this); useTimer = new Timer("Use Timer", UseDuration, true, PopUseTimer); SetUpAbilityData(); }
private void DrawRecoveryMethod(AbilityRecoveryManager entry, Constants.SpecialAbilityRecoveryType recoveryType) { switch (recoveryType) { case Constants.SpecialAbilityRecoveryType.Timed: entry.recoveryCooldown.cooldown = EditorGUILayout.FloatField("Cooldown", entry.recoveryCooldown.cooldown); entry.recoveryCooldown.recoveryType = Constants.SpecialAbilityRecoveryType.Timed; break; } //if (entry is RecoveryCooldown) { // RecoveryCooldown cooldown = entry as RecoveryCooldown; // cooldown.cooldown = EditorGUILayout.FloatField("Cooldown", cooldown.cooldown); //} }
public Ability(AbilityData data, GameObject source, List <AbilityData> sequenceData = null, Ability parent = null) { abilityData = data; AbilityID = IDFactory.GenerateAbilityID(); Source = source; EffectManager = new EffectManager(this); RecoveryManager = new AbilityRecoveryManager(this); ParentAbility = parent; SetUpAbilityData(); SetupAbilitySequences(sequenceData); useTimer = new Timer(UseDuration, PopUseTimer, true, "Use"); GameManager.RegisterAbility(this); }
public AbilityRecovery(Ability parentAbility, AbilityRecoveryManager manager) { //IsReady = true; this.ParentAbility = parentAbility; this.manager = manager; }