Я должен предварять это, говоря, что это будет реализовано в Unity, поэтому я могу использовать некоторые функции и имена классов оттуда, но здесь идет:
У меня есть класс для возможных типов элементов в моей игре, который будет сохранен в файле JSON:
public class Item
{
//Properties galore
}
public class Weapon : Item
{
//All my weapon stats
}
public class Projectile : Weapon
{
//All my projectile weapon stats
}
Так что теперь я могу взять кучу статистики и оружия. Например, текущий инвентарь моего игрока хранится в списке:
List<Item> playerInventory = new List<Item>();
//And then I go on and add my inventory items from a stored file, etc.
Итак, пуф, теперь у моего игрока есть инвентарь. Ура. К сожалению, я изо всех сил пытаюсь найти способ получить список ПРОСТОГО Оружия или ПРОСТОГО Оружия Снаряда. Я мог бы добавить параметр «тип» в мой файл JSON, который содержит значения по умолчанию для каждого оружия и т. Д., Но кажется, что в C # есть способ сделать что-то умное, например
List<Weapon> weaponList = new List<Weapon>();
foreach(Item<Weapon> i in playerInventory)
{
weaponList.Add(i);
}
Я знаю, я знаю, это совсем не правильно, но, надеюсь, вы меня поняли. Конечно, не совсем так, но я подумал, что должен быть способ превратить список предметов в новый список оружия относительно безболезненно.
Спасибо за любую помощь, вы можете предоставить!