using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UnityEngine; [Serializable] public class RequiredSubject { protected virtual string MODEL_LOCALIZATION => ""; [SerializeField] public int RequiredAmount; [SerializeField] public GameObject RequiredObject; public RequiredSubject(int requiredAmount) { RequiredAmount = requiredAmount; } public RequiredSubject(int requiredAmount, GameObject _object) { RequiredAmount = requiredAmount; RequiredObject = _object; } public RequiredSubject(int requiredAmount, string objectName) { RequiredAmount = requiredAmount; RequiredObject = FindObjectInResource(objectName); } public GameObject FindObjectInResource(string modelName) { var resource = Resources.Load(MODEL_LOCALIZATION + modelName); if (!resource) throw new System.Exception($"required Subject Resource {MODEL_LOCALIZATION + modelName} not found!!"); return resource; } public virtual bool CheckCondition() { return false; } }