コード例 #1
0
    private Sprite GetSpriteForReward(TierReward pmusReward)
    {
        Sprite uniButtonSprite = null;

        switch (pmusReward.RewardType)
        {
        case TierReward.REWARDTYPE.Ability:
            switch (((AbilityTierReward)pmusReward).TierAbility.AbiltyType)
            {
            case Ability.ABILITYTYPE.Buff:
                uniButtonSprite = mdictButtonSprites["Buff"];
                break;

            case Ability.ABILITYTYPE.Debuff:
                uniButtonSprite = mdictButtonSprites["Debuff"];
                break;

            case Ability.ABILITYTYPE.MultiTarget:
                uniButtonSprite = mdictButtonSprites["Multi"];
                break;

            case Ability.ABILITYTYPE.SingleTarget:
                uniButtonSprite = mdictButtonSprites["Single"];
                break;
            }
            break;

        case TierReward.REWARDTYPE.Resource:
            switch (((ResourceTierReward)pmusReward).ResourceType)
            {
            case TierReward.RESOURCETYPE.Material:
                uniButtonSprite = mdictButtonSprites["Mat"];
                break;

            case TierReward.RESOURCETYPE.Worshipper:
                uniButtonSprite = mdictButtonSprites["Wor"];
                break;
            }
            break;

        case TierReward.REWARDTYPE.ResourceMultiplier:
            switch (((ResourceMultiplierTierReward)pmusReward).ResourceType)
            {
            case TierReward.RESOURCETYPE.Material:
                uniButtonSprite = mdictButtonSprites["Matx"];
                break;

            case TierReward.RESOURCETYPE.Worshipper:
                uniButtonSprite = mdictButtonSprites["Worx"];
                break;
            }
            break;
        }
        if (uniButtonSprite == null)
        {
            uniButtonSprite = mdictButtonSprites["Default"];
        }
        return(uniButtonSprite);
    }
コード例 #2
0
 /// <summary>
 /// Constuctor for creating an ability tier reward
 /// Loads the ability reward based on the given ability name
 /// </summary>
 /// <param name="pstrName">The name of the ability to be loaded</param>
 /// <param name="pmusPreviousRequiredTierReward">The previous reward required to unlock this reward. Optional</param>
 public AbilityTierReward(string pstrName, TierReward pmusPreviousRequiredTierReward = null)
 {
     RewardType             = REWARDTYPE.Ability;
     RewardName             = pstrName;
     PreviousRequiredReward = pmusPreviousRequiredTierReward;
     ChildRewards           = new List <TierReward>();
     TierAbility            = Ability.LoadAbilityFromName(pstrName);
     RewardDescription      = TierAbility.AbilityDescription;
 }
コード例 #3
0
 /// <summary>
 /// Constructor for creating a resource multiplier reward.
 /// </summary>
 /// <param name="pstrName">The name of the reward displayed to the player.</param>
 /// <param name="pstrDesc">A descrition of the reward. Will be displayed on the reward tree.</param>
 /// <param name="penumType">The resource type to be rewarded</param>
 /// <param name="pfMultiplier">The multipler of resource to be added.</param>
 /// <param name="pmusPreviousRequiredTierReward">The previous reward required to unlock this reward. Optional</param>
 public ResourceMultiplierTierReward(string pstrName, string pstrDesc, RESOURCETYPE penumType, float pfMultiplier, TierReward pmusPreviousRequiredTierReward = null)
 {
     RewardType             = REWARDTYPE.ResourceMultiplier;
     RewardName             = pstrName;
     RewardDescription      = pstrDesc;
     ResourceType           = penumType;
     Multiplier             = pfMultiplier;
     PreviousRequiredReward = pmusPreviousRequiredTierReward;
     ChildRewards           = new List <TierReward>();
 }
コード例 #4
0
 /// <summary>
 /// Constructor for creating a resource amount reward
 /// </summary>
 /// <param name="pstrName">The name of the reward displayed to the player.</param>
 /// <param name="pstrDesc">A descrition of the reward. Will be displayed on the reward tree.</param>
 /// <param name="penumType">The resource type to be rewarded</param>
 /// <param name="pintAmount">The amount of resource rewarded.</param>
 /// <param name="pmusPreviousRequiredTierReward">The previous reward required to unlock this reward. Optional</param>
 public ResourceTierReward(string pstrName, string pstrDesc, RESOURCETYPE penumType, int pintAmount, TierReward pmusPreviousRequiredTierReward = null)
     : base()
 {
     RewardType             = REWARDTYPE.Resource;
     RewardName             = pstrName;
     RewardDescription      = pstrDesc;
     ResourceType           = penumType;
     Amount                 = pintAmount;
     PreviousRequiredReward = pmusPreviousRequiredTierReward;
     ChildRewards           = new List <TierReward>();
 }
コード例 #5
0
 /// <summary>
 /// Callback method attached to each button to attempt to unlock itself
 /// </summary>
 /// <param name="pmusTierReward"></param>
 public void RewardClicked(TierReward pmusTierReward)
 {
     if (GameObject.Find("GameManager").GetComponent <GameManager>().UnlockReward(pmusTierReward))
     {
         // Grey out self, light up child buttons
         pmusTierReward.ButtonObject.GetComponent <Image>().color = UnlockedColor;
         foreach (TierReward childReward in pmusTierReward.ChildRewards)
         {
             childReward.ButtonObject.GetComponent <Image>().color = AvailableColor;
         }
     }
 }
コード例 #6
0
    /// <summary>
    /// Parse the entire tier reward tree to find a matching reward by reward name
    /// Used to show which abilites are unlocked on return from save state
    /// Recursive tree search
    /// </summary>
    /// <param name="pstrRewardName"></param>
    /// <param name="parrTierRewards"></param>
    /// <returns></returns>
    public static TierReward FindRewardByName(string pstrRewardName, List <TierReward> parrTierRewards)
    {
        TierReward musFoundTierReward = null;

        if (parrTierRewards != null)
        {
            foreach (TierReward musTierReward in parrTierRewards)
            {
                if (musTierReward.RewardName.Equals(pstrRewardName))
                {
                    return(musTierReward);
                }
                musFoundTierReward = FindRewardByName(pstrRewardName, musTierReward.ChildRewards);
                if (musFoundTierReward != null)
                {
                    return(musFoundTierReward);
                }
            }
        }
        // Reward not found
        return(null);
    }