У меня есть проект Unity с постоянно растущим количеством «ресурсов-заполнителей» (таких как ScriptableObjects for Items and Enemies). Так что я подумал, что было бы здорово, если бы я мог как-нибудь; (1) отметьте их как заполнители, а также (2) дайте им ориентировочную стоимость производства. Чтобы проанализировать их все во время сборки / воспроизведения и вывести в журнале что-то вроде этого: «Сборка содержит 125 заполнителей, по оценочной стоимости 3275 долларов США».
Я надеялся, что это будет так же просто, как создание интерфейса, который я мог бы реализовать во всех моих различных классах, которые представляют активы / контент, чтобы дать мне эти дополнительные поля (например, bool isPlaceholder и float costEstimate). Вот так:
namespace PlaceholderInfo
{
public interface IPlaceholderInfo
{
bool isPlaceholder = false;
float costEstimate = 0f;
}
}
А затем в Инспекторе появляется что-то вроде этого, которое я мог бы легко редактировать для всех активов:
And later to parse through that data, perhaps using this method https://answers.unity.com/questions/863509/how-can-i-find-all-objects-that-have-a-script-that.html - но сейчас я застрял на ПЕРВОМ шаге, так как я только что узнал (на собственном горьком опыте), что интерфейсы не могут даже иметь поля! : (
Что мне делать? Могу ли я воспользоваться другим подходом?