Beispiel #1
0
        public static void ApplyGameInfoEffect(this GameInfo gameInfo, GameInfoEffectBase effect)
        {
            switch (effect)
            {
            case LevelEffect levelEffect:
                gameInfo.Level.Points += levelEffect.ExpGain;
                break;

            case KingdomEffect kingdomEffect:
                gameInfo.Kingdom.Points += kingdomEffect.ExpGain;
                break;

            case ItemEffect itemEffect:
                gameInfo.Inventory.AddOrUpdate(itemEffect.Item);
                break;

            case CompoundEffect compoundEffect:
                foreach (var e in compoundEffect.Effects)
                {
                    gameInfo.ApplyGameInfoEffect(e);
                }
                break;
            }
        }