private void SetUpAbility() { abilityName = abilitydata.abilityName; abilityType = abilitydata.abilityType; activationMethod = abilitydata.activationMethod; procChance = abilitydata.procChance; animationTrigger = abilitydata.animationTrigger; effects = abilitydata.GetAllEffects(); recoveryMethod = abilitydata.GetRecoveryMechanic(); sequenceWindow = abilitydata.sequenceWindow; useDuration = abilitydata.useDuration; useTimer = new Timer(useDuration, true, PopAbilityUseTimer); overrideOtherAbilities = abilitydata.overrideOtherAbilities; abilityIcon = abilitydata.abilityIcon; abilityLimitations = abilitydata.abilityLimitations; if (recoveryMethod != null) { recoveryMethod.Initialize(this); } for (int i = 0; i < effects.Count; i++) { effects[i].Initialize(this); } RegisterListeners(); SetupRiders(); //Debug.Log(abilityName + " has been initialized"); }
public void RemoveSlotAbility() { CurrentCard = null; recovery = null; icon.sprite = parent.emptySlotImage; IsEmpty = true; }
public void Initialize(PlayerQuickBar parent, SpecialAbility ability) { this.parent = parent; this.ability = ability; recovery = ability.Recovery; SetIcon(); }
public void SetSlotAbility(AbilityCard abilityCard) { this.CurrentCard = abilityCard; recovery = abilityCard.abilities[0].Recovery; SetIcon(); //Debug.Log("Adding a card to a slot"); if (abilityCard != null) { IsEmpty = false; } }
public RecoverySet(Constants.SpecialAbilityRecoveryType recoveryType, SpecialAbilityRecovery recoveryMechanic) { this.recoveryType = recoveryType; this.recoveryMechanic = recoveryMechanic; }
public SpecialAbilityRecovery GetRecoveryMechanic() { SpecialAbilityRecovery result = ObjectCopier.Clone(recoveryManager.GetRecoveryMethodByType(recoveryType)) as SpecialAbilityRecovery; return(result); }