Желаемое поведение:
Я читал где-то, что структуры в C # сложны, однако в Game Engines я всегда делал свой инвентарь со списком структурного типа.По сути, в инвентаре должны храниться предметы с различными переменными (защита, атака и т. Д.) - идеально подходит для структур.
.
Что не работает:
После того, как я создаю тип Struct, список этого типа и добавляю к нему элемент, я не могу отобразить его с какой-либо формой цикла ForEach, который я пробовал.Вместо этого он отображает CLI_RPG.InventoryItem , где CLI_RPG - это имя проекта, а InventoryItem - тип структуры.
.
То, что я считаю неправильным:
Я думаю, что сделал файл / класс со Struct неправильно.Однако это не дает ошибок.
.
Код программы:
using System;
using System.Collections.Generic;
namespace CLI_RPG
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Character character = new Character();
character.ShowStatistics();
//Create List Of Struct Type
List<InventoryItem> Inventory = new List<InventoryItem>();
InventoryItem WoodenSword = new InventoryItem("Wooden Sword", 25, 7, 0, 50, 10);
Inventory.Add(WoodenSword);
// Show Struct Elements
Inventory.ForEach(i => Console.Write("{0}\t", i));
Console.ReadKey();
}
}
}
.
Код структуры:
using System;
using System.Collections.Generic;
using System.Text;
namespace CLI_RPG
{
public struct InventoryItem
{
public string name;
public int durability;
public int damage;
public int defence;
public int buyPrice;
public int sellPrice;
public InventoryItem(string name, int durability, int damage, int defence, int buyPrice, int sellPrice)
{
this.name = name;
this.durability = durability;
this.damage = damage;
this.defence = defence;
this.buyPrice = buyPrice;
this.sellPrice = sellPrice;
}
}
}
.
Любая помощь приветствуется!Я должен изучить и понять их, прежде чем начать делать игры!