Я хочу создать новый элемент и дать ему один эффект из пула уже созданных эффектов.
Например, я хочу создать HealthPotion с именем «зелье здоровья» и эффектом, который лечит данную сущность / субъект за # количество здоровья.
Класс сущности:
class Entity
{
public string Name;
public float Health;
public List<Item> items;
public Entity(string name, float health, List<Item> items)
{
Name = name;
Health = health;
this.items = items;
}
}
Класс предмета:
class Item
{
public string Name;
public Effects effect;
public Item(string name, Effects effect)
{
Name = name;
this.effect = effect;
}
}
Класс эффектов:
class Effects
{
public static void Heal(Entity entity, float amount)
{
entity.Health += amount;
Console.WriteLine($"{entity.Name} gained {amount} health");
}
}
Основная программа:
static void Main(string[] args)
{
Entity Player = new Entity("Main Player", 50);
Item potion = new Item("health potion", Effects.Heal(Player, 25));
List<Item> itemsOnPlayer = new List<Item>();
itemsOnPlayer.Add(potion);
Player.items = itemsOnPlayer;
}
Я знаю, что я делаю что-то действительно неправильно, но я понятия не имею, что нужно сделать, чтобы заставить это работать, любая помощь будет принята с благодарностью.