Valks-Games / AvoidTheEnemies

Lets make a game like Vampire Survivors and Halls of Torment!
MIT License
5 stars 1 forks source link

Defining upgrade increments in script twice #5

Open valkyrienyanko opened 1 year ago

valkyrienyanko commented 1 year ago

Notice how in the code below I have to define for example 10 for speed in one place and 10 for speed in another place. Defining the upgrade increment in one place for speed (and all other upgrades) would be much nicer.

// UICard.cs
OnPicked += () =>
{
    switch (CardUpgradeType)
    {
        case CardUpgradeType.Speed:
            player.Speed += 10;
            break;
        case CardUpgradeType.Health:
            player.AddHealth(5);
            break;
        case CardUpgradeType.MaxHealth:
            player.AddMaxHealth(5);
            break;
        case CardUpgradeType.Firerate:
            player.IncreaseFirerate(50);
            break;
    }
};

CardTitle.Text = CardUpgradeType + "";

var cardUpgradeNote = (UICardUpgradeNote)Prefabs.CardUpgradeNote.Instantiate();

switch (CardUpgradeType)
{
    case CardUpgradeType.Speed:
        cardUpgradeNote.SetInfo(
            type: CardUpgradeType,
            before: player.Speed,
            after: player.Speed + 10);
        break;
    case CardUpgradeType.Health:
        cardUpgradeNote.SetInfo(
            type: CardUpgradeType,
            before: player.Health,
            after: player.Health + 5);
        break;
    case CardUpgradeType.MaxHealth:
        cardUpgradeNote.SetInfo(
            type: CardUpgradeType,
            before: player.MaxHealth,
            after: player.MaxHealth + 5);
        break;
    case CardUpgradeType.Firerate:
        cardUpgradeNote.SetInfo(
            type: CardUpgradeType,
            before: player.Firerate,
            after: player.Firerate - 50);
        break;
}