Пример #1
0
    /// <summary>
    /// Set the ability details for every form (human vs werebeast) and type (active vs passive)
    /// </summary>
    /// <param name="abilityType">Ability type</param>
    /// <param name="playerForm">Player form</param>
    /// <param name="abilityImage">Ability image for UI</param>
    /// <param name="abilityName">Ability name for UI</param>
    /// <param name="abilityDescription">Ability description for UI</param>
    /// <param name="abilityCooldown">Ability cooldown for UI</param>
    public AbilityDetails SetAbilityDetails(AbilityDetails.AbilityType abilityType, AbilityDetails.PlayerForm playerForm, Sprite abilityImage,
                                            string abilityName, string abilityDescription, float abilityCooldown)
    {
        // Use switch to generate AbilityDetails object for each case
        switch (playerForm)
        {
        case AbilityDetails.PlayerForm.Human:
            switch (abilityType)
            {
            case AbilityDetails.AbilityType.Active:
                this.humanActiveAbility = new AbilityDetails(abilityType, playerForm, abilityImage, abilityName, abilityDescription, abilityCooldown);
                return(this.humanActiveAbility);

            case AbilityDetails.AbilityType.Passive:
                this.humanPassiveAbility = new AbilityDetails(abilityType, playerForm, abilityImage, abilityName, abilityDescription, abilityCooldown);
                return(this.humanPassiveAbility);
            }
            break;

        case AbilityDetails.PlayerForm.Werebeast:
            switch (abilityType)
            {
            case AbilityDetails.AbilityType.Active:
                this.werebeastActiveAbility = new AbilityDetails(abilityType, playerForm, abilityImage, abilityName, abilityDescription, abilityCooldown);
                return(this.werebeastActiveAbility);

            case AbilityDetails.AbilityType.Passive:
                this.werebeastPassiveAbility = new AbilityDetails(abilityType, playerForm, abilityImage, abilityName, abilityDescription, abilityCooldown);
                return(this.werebeastPassiveAbility);
            }
            break;
        }

        return(null);
    }
Пример #2
0
 public AbilityDetails(AbilityDetails.AbilityType abilityType, AbilityDetails.PlayerForm playerForm,
                       Sprite abilityImage, string abilityName, string abilityDescription, float abilityCooldown)
 {
     this.abilityType        = abilityType;
     this.playerForm         = playerForm;
     this.abilityImage       = abilityImage;
     this.abilityName        = abilityName;
     this.abilityDescription = abilityDescription;
     this.abilityCooldown    = abilityCooldown;
 }