53 lines
1.2 KiB
C#
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 => "---";
|
|
}
|