Unity добавили новый Package в их Package manager под названием Game Foundation. Я захотел его изучить и наткнулся на интересный момент, который я не знаю. Я бы хотел чтобы мне его объяснили(дали ссылки на ресурсы, которые могут более подробно объяснить).
Собственно фрагмент кода(несколько классов):
public abstract class BaseCollection<T1, T2, T3, T4> : GameItem
where T1 : BaseCollectionDefinition<T1, T2, T3, T4>
where T2 : BaseCollection<T1, T2, T3, T4>
where T3 : BaseItemDefinition<T1, T2, T3, T4>
where T4 : BaseItem<T1, T2, T3, T4>
{ ... }
public abstract class BaseCollectionDefinition<T1, T2, T3, T4> : GameItemDefinition
where T1 : BaseCollectionDefinition<T1, T2, T3, T4>
where T2 : BaseCollection<T1, T2, T3, T4>
where T3 : BaseItemDefinition<T1, T2, T3, T4>
where T4 : BaseItem<T1, T2, T3, T4>
{ ... }
public abstract class BaseItemDefinition<T1, T2, T3, T4> : GameItemDefinition
where T1 : BaseCollectionDefinition<T1, T2, T3, T4>
where T2 : BaseCollection<T1, T2, T3, T4>
where T3 : BaseItemDefinition<T1, T2, T3, T4>
where T4 : BaseItem<T1, T2, T3, T4>
{ ... }
public abstract class BaseItem<T1, T2, T3, T4> : GameItem
where T1 : BaseCollectionDefinition<T1, T2, T3, T4>
where T2 : BaseCollection<T1, T2, T3, T4>
where T3 : BaseItemDefinition<T1, T2, T3, T4>
where T4 : BaseItem<T1, T2, T3, T4>
{ ... }
Для чего нужно указывать остальные классы в классе BaseCollection?
GameItem - обычный класс, не наследуется. GameItemDefinition - ScriptableObject
Вы имеете в виду вот это?
where T1 : BaseCollectionDefinition<T1, T2, T3, T4>
where T2 : BaseCollection<T1, T2, T3, T4>
where T3 : BaseItemDefinition<T1, T2, T3, T4>
where T4 : BaseItem<T1, T2, T3, T4>
Это так называемые ограничения.
BaseCollection<T1, T2, T3, T4>
- имеем класс-обобщение , где T1, T2 etc - объекты удовлетворяющие ограничениям записанным в блоках where
- в данном случае они должны быть экземплярами наследниками указанных классов.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Разрабатываемая программа должна уметь асинхронно скачивать до трех картинок включительноВсе работает на WebClient
помогите разобратьсяМне нужно, чтобы объект двигался в то место куда было осуществлено нажатие на экран, вместо этого объект летит куда ему...
Подключаюсь из C# через comconnector к 1С базе и создаю новый ПриходныйКассовыйОрдер и вроде бы все отлично, но вот номер документа присваеваемый...
Как это реализовать? Приложил скрипт, который сейчас рандомно генерирует блоки БЕЗ препятствий