В игре Unity3D,Unity3D, хранение данных в подклассах
Я хочу, чтобы хранить данные на различных подклассов, все из которых получены из одного класса Tool
и быть в состоянии получить его по собственному желанию, а также как итерация по каждому из классов.
Например, один инструмент: Hammer
, и я хочу, чтобы общее количество раз, когда любой молот использовался на уровне примерно в int timesUsed
. Статические свойства выглядят как способ справиться с этим, но я не могу найти способ легко перебирать все подклассы Tool
сразу и получить их свойство timesUsed
.
Чтобы уточнить, я хочу, чтобы каждый подкласс Tool
обладали timeUsed
. Таким образом, Hammer
, Drill
и Saw
все имеют независимые timesUsed
. Но у каждого экземпляра Hammer
всегда будет одинаковое timesUsed
.
Еще один короткий пример: каждый подкласс Tool
, такой как Hammer
, будет иметь ссылку на текстовое поле для «Молот». Это текстовое поле будет одинаковым для всех экземпляров этого класса.
Каков правильный способ справиться с этим?
Может numRemaining это не так .. Вы, наверное, нужна какая-то "ToolRepository" или класса "ToolPool", который может быть доступным как статический singleton ->, позволяющий вам одновременно считать ваши инструменты, а также извлекать только инструменты определенного подтипа –
Просто для уточнения ... У вас есть базовый класс 'tool', и у вас есть« Hammer ».. если у вас 10 молотов. .. вы хотите определить 1 или 10 классов из Hammer ....? –
Каждый «Молот» будет его собственным экземпляром. Именно здесь могут появиться статические свойства, поскольку они живут на самом классе «Хаммер». В этом случае свойство 'public static numRemaining' в классе' Hammer' будет равно 10. – Preston