Witam, mam taki jeden problem. Potrzebuję stworzyć listę obiektów na podstawie innej listy, ale program sam musi sobie poradzić jaki typ stworzyć :)
Wygląda to tak mniej więcej:
namespace TestWPF {
/// <summary>
/// Logika interakcji dla klasy MainWindow.xaml
/// </summary>
public partial class MainWindow : Window {
public List<Enemy> EnemyList = null;
public List<Enemy> _EnemyList = null;
public abstract class Enemy {
private int _HP;
public int HP {
get { return _HP; }
set { _HP = value; }
}
public Enemy(int HP) {
this.HP = HP;
}
}
public class Wolf : Enemy {
public Wolf(int HP = 15)
: base(HP) { }
}
public class Spider : Enemy {
public Spider(int HP = 8)
: base(HP) { }
}
public MainWindow() {
InitializeComponent();
EnemyList = new List<Enemy>();
_EnemyList = new List<Enemy>();
EnemyList.Add(new Wolf());
EnemyList.Add(new Spider());
EnemyList.Add(new Wolf());
EnemyList.Add(new Wolf());
EnemyList.Add(new Spider());
_EnemyList.Add(new EnemyList[2].GetType()); // O Tutaj, to jest bzdura
}
}
}
Jest sobie lista potworków, i pogram będzie losował odpowiednie sztuki. I teraz muszę stworzyć listę _EnemyList która będzie przechowywała tych już wybranych przeciwników, ale ja nie wiem czy to Wolf czy to Spider czy to jeszcze co innego więc trzeba to rozpoznać :) Z tym że muszę stworzyć zupełnie nowe sztuki, żeby w indeksach powiedzmy 2,3,4 nie było tego samego wilka.
Szukałem coś o
Activator.CreateInstance
Ale nie wiem jak to ogarnąć :(
Z góry dziękuję za pomoc.