Esempio n. 1
0
        /// <summary>
        /// Create and register an upgrade entry
        /// </summary>
        /// <param name="upgrade">Upgrade ID</param>
        /// <param name="icon">Icon that will show up in the upgrade shop</param>
        /// <param name="cost">The cost of the upgrade</param>
        public static void RegisterUpgradeEntry(PlayerState.Upgrade upgrade, Sprite icon, int cost)
        {
            UpgradeDefinition definition = ScriptableObject.CreateInstance <UpgradeDefinition>();

            definition.upgrade = upgrade;
            definition.icon    = icon;
            definition.cost    = cost;
            RegisterUpgradeEntry(definition);
        }
        /// <summary>
        /// Creates an Upgrade Definition
        /// </summary>
        /// <param name="upgrade">The upgrade for this definition</param>
        /// <param name="icon">The icon to be displayed</param>
        /// <param name="cost">The cost of this upgrade</param>
        public static UpgradeDefinition CreateUpgradeDefinition(PlayerState.Upgrade upgrade, Sprite icon, int cost)
        {
            UpgradeDefinition definition = ScriptableObject.CreateInstance <UpgradeDefinition>();

            definition.SetPrivateField("upgrade", upgrade);
            definition.SetPrivateField("icon", icon);
            definition.SetPrivateField("cost", cost);

            return(definition);
        }
Esempio n. 3
0
        /// <summary>
        /// Register <paramref name="entry"/> into the <see cref="LookupDirector"/>
        /// </summary>
        /// <param name="entry">Upgrade Entry to register</param>
        public static void RegisterUpgradeEntry(UpgradeDefinition entry)
        {
            switch (CurrentLoadingStep)
            {
            case LoadingStep.PRELOAD:
                upgradeEntriesToPatch.Add(entry);
                break;

            default:
                GameContext.Instance.LookupDirector.upgradeDefinitions.AddAndRemoveWhere(entry, (x, y) => x.upgrade == y.upgrade);
                GameContext.Instance.LookupDirector.upgradeDefinitionDict[entry.upgrade] = entry;
                break;
            }
        }
Esempio n. 4
0
    public void SetDefinition(string category, UpgradeDefinition definition)
    {
        this.mCategory   = category;
        this.mDefinition = definition;
        this.UpdateButtonInteractable();

        if (this.mDefinition != null)
        {
            this.nameText.text        = this.mDefinition.Name;
            this.descriptionText.text = this.mDefinition.Description;
            this.costText.text        = this.mDefinition.Cost.ToString("0.00");
        }
        else
        {
            this.nameText.text        = "[MAXED]";
            this.descriptionText.text = "[MAXED]";
            this.costText.text        = "[ALL]";
        }
    }