Beispiel #1
0
    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;
    }
Beispiel #3
0
    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;
 }
Beispiel #6
0
    public SpecialAbilityRecovery GetRecoveryMechanic()
    {
        SpecialAbilityRecovery result = ObjectCopier.Clone(recoveryManager.GetRecoveryMethodByType(recoveryType)) as SpecialAbilityRecovery;

        return(result);
    }