Class World ist entworfen, um Akteure zu spawnen.
Schauspieler können verschiedene Arten sein: es kann Katze sein, kann Hund sein, kann Baum sein, alles, die einzige ähnliche Sache ist, dass sie alle vom Schauspieler abgeleitet sind.
Und es gibt auch eine Befehlszeile, es gibt World eine Zeichenfolge, wo die nächsten Dinge geschrieben:
what_to_do string_leftover. Wenn "what_to_do" gleich "Spawn" ist, muss das erste Wort von "string_leftover" den Namen "type" und den Namen "actor" haben.
Das Problem ist, dass die Anzahl der Akteure kann unbestimmt sein - ich bin nicht wirklich sicher über ihre Zählung und ich habe wirklich Angst vor vergessen, ihre Spawn-Überladung manuell zu schreiben.Spawn bestimmter Typ von String
Wenn sehr einfach:
Ich eingegeben in der Konsole: "SelectWorld World1" dann "Spawn PhysicalPendulum OneMorePendulum". Dies wird die Welt namens World1 auswählen (das funktioniert perfekt) und den Actor vom Typ PhysicalPendulum mit dem Namen OneMorePendulum spawnen.
Problem: Ich kann nicht elegant bestimmen, welchen Typ ich von der Schnur spawnen sollte.
Warum:
Alle Lösungen, die ich kenne, erfordert, um "String zu Typ Determiners" nicht in Aktor-abgeleiteten Klasse Header/Objekt-Datei zu erstellen.
Ich meine, ich kann wechseln (Zeiger-Funktion-Karte), aber jedes Mal, wenn ich neue Akteur Typ ich muss zu dieser Spawn-Funktion zurückkehren und neue Art auf Spawnables schreiben, gibt es eine geringe Chance, dass ich total kann vergesst es und eine laaaaaaaaaue Zeit des Debuggens wird mich erwarten.
Ich kann statische Klasseninstanz mit Makro erstellen, aber es gibt keine Garantie, dass Spawner erstellt wird, bevor diese Instanz initialisiert wird.
Ich habe über Tricks mit Makros nachgedacht, aber sie können nicht erweitert werden, als ob defined "definition_body" hätte Ich kann "another_definition_body" nicht hinzufügen und bekomme "definition_body another_definition_body".
Wie kann ich Typ von Schnur elegant spawn?
Was meinst du _ "spawn" _? Suchst du eigentlich ein Factory Design Pattern? –