Files
Fruitomation/Assets/Scripts/Game/Items/SerializedItemInfoRegistry.cs
2026-04-28 11:05:02 +01:00

94 lines
1.9 KiB
C#

using UnityEngine;
using System;
namespace Fruitomation.Game.Items
{
[Serializable] public enum CustomBehaviourType
{
None,
FruitBehaviour,
}
[Serializable] public enum ItemType
{
None,
Apple,
Grape,
Banana,
Kiwi,
Mango,
Pitaya,
Durian,
BuddhasHand,
AppleSlices,
DriedAppleSlices,
AppleJuice,
GrapeJuice,
Wine,
Raisins,
BananaSlices,
DriedBananaSlices,
BananaSkin,
MushedBanana,
BananaBacon,
BananaIceCream,
KiwiJuice,
KiwiSeeds,
KiwiSeedOil,
KiwiVinegar,
SlicedKiwi,
MangoJuice,
MangoSlices,
DurianSlices,
DurainPowder,
BuddhasHandSlices,
PitayaSkin,
MushedPitaya,
PitayaFoodDye,
PitayaIceCream,
AppleAndMangoJuice,
DriedFruitSelection,
ExoticFruitSelection,
SpicedBananaIceCream,
SpicedPitayaIceCream,
}
[Serializable] public class ItemInfo
{
public ItemType Type;
[SerializeField] private CustomBehaviourType CustomBehaviour;
public GameObject Prefab;
public float MinMoney;
public float MaxMoney;
public CustomItemBehaviour GetCustomBehaviour()
{
return CustomBehaviour switch
{
CustomBehaviourType.None => null,
CustomBehaviourType.FruitBehaviour => new FruitBehaviour(),
var _ => throw new ArgumentOutOfRangeException()
};
}
}
[CreateAssetMenu] public class SerializedItemInfoRegistry : ScriptableObject
{
[SerializeField] public ItemInfo[] Registry;
}
}