RobotFactoryIncrementalGame/Assets/Scripts/Resource.cs

53 lines
1.2 KiB
C#

using System;
using Unity.VisualScripting;
using UnityEngine;
[Serializable]
public abstract class Resource
{
[Inspectable]
public abstract string Name { get; }
public abstract string SourceLabel { get; }
public override string ToString()
{
return this.Name;
}
}
[Serializable]
// [CreateAssetMenu(fileName = "Metal", menuName = "Resources/Metal")]
public class Metal : Resource
{
public override string Name => "Metal";
public override string SourceLabel => "Metal source";
}
[Serializable]
// [CreateAssetMenu(fileName = "Electronics", menuName = "Resources/Electronics")]
public class Electronics : Resource
{
public override string Name => "Electronics";
public override string SourceLabel => "Electronics Factory";
}
[Serializable]
// [CreateAssetMenu(fileName = "Energy", menuName = "Resources/Energy")]
public class Energy : Resource
{
public override string Name => "Energy";
public override string SourceLabel => "Power Plant";
}
[Serializable]
// [CreateAssetMenu(fileName = "Metal", menuName = "Resources/Metal")]
public class Money : Resource
{
public override string Name => "Money";
public override string SourceLabel => "---";
}