Hey ich denke, wenn ich Instanz einer Klasse mit in sich selbst machen könnte...
Mein Problem ist, dass ich 3D-Sphären für Planeten und ihre Monde erstelle, deren Daten ich in Object behalte. Ich übergebe Parameter an den Konstruktor meiner Planetenklasse für "Size" "Orbital Radius" "Texture" "Revolution Speed" etcetra. Ich muss eine weitere Klasse für die Monde der Planeten erstellen, die ein exaktes Duplikat der Mondklasse ist.
Ich dachte, wenn ich die Klasse Objekt in sich selbst machen könnte. Übergeben Sie einen Parameter für die Liste \array von Objekten von sich selbst zu erstellen und wie für die Erde werde ich "1" übergeben, um einen Mond zu erstellen und da der Mond den gleichen Konstruktor haben wird, werde ich "0" für keine Monde des Mondes übergeben. zu erstellen.
Etwa so
class Planet
{
Model u_sphere;
Texture2D u_texture;
//Other data members
List<Planet> Moons = new List<Planet>();
Planet()
{
//Default Constructor
}
//Overloaded\Custom Constructor
Planet(Model m, Texture2D t, int moon_count)
{
u_sphere = m;
u_texture = t;
while(moon_count > 0)
{
Model moon_sphere = LoadMesh("moon.x");
Texture2D u_texture = LoadTexture("moon.bmp");
Planet temp = new Planet(moon_sphere,moon_texture,0);
Moons.Add(temp);
moon_count--;
}
}
//Others Getters & Setters
}
-
Ist das irgendwie möglich?
-
oder Was ist die beste Praxis \approach für diese Art von Problem?
p.s Ich verwende C# und Microsoft X.N.A Framework