\b;Anweisung \c;factory\n;
Syntax:
\s;\c;factory ( cat, program, object );\n;

Startet die Konstruktion eines Bots einer bestimmten \l;Kategorie\u cbot\category; und führt ein angegebenes Programm darauf aus, nachdem die Konstruktion abgeschlossen ist.

\t;cat: \c;\l;int\u cbot\int;\n;
\l;Kategorie\u cbot\category; des zu konstruierenden Roboters.

\t;program: \c;\l;string\u cbot\string;\n; (Standardwert: \c;""\n;)
Programm, das auf dem Bot ausgeführt wird, nachdem die Fabrik die Konstruktion abgeschlossen hat. Dabei kann es sich entweder um eine \l;öffentliche\u cbot\public; \l;Funktion\u cbot\function;, einen Dateinamen oder einen Codeschnipsel handeln.

\t;\l;object\u cbot\object;
\l;BotFactory\u object\factory;, standardmäßig am nächsten.

\t;Rückgabe: \c;\l;int\u cbot\int;\n;
Normalerweise bewirkt ein Fehler, dass das Programm angehalten wird. Wenn Sie wollen, dass das Programm durch einen Fehler nicht angehalten wird, benutzen Sie den Befehl \c;\l;errmode\u cbot\errmode;(0)\n;. In diesem Fall gibt der Befehl einen Wert verschieden von Null zurück, wenn beim Ausführen von \c;factory()\n; ein Fehler aufgetreten ist.
\c;== 0 \n;Der Bau hat erfolgreich begonnen
\c;!= 0 \n;Der Bau konnte nicht gestartet werden (z.B. kein \l;Titan\u object\titan; in der Fabrik, der Bot wird nicht erforscht)

\t;Beispiel

Codeschnipsel:
\c;
\s; extern void New()
\s; {
\s;     factory(WheeledGrabber, "extern void Say123() { message(123); }");
\s; }
\n;

Öffentliche Funktion:
\c;
\s; extern void New()
\s; {
\s;     factory(WheeledGrabber, "SayHello");
\s; }
\s;
\s; public void SayHello()
\s; {
\s;     message("hello");
\s; }
\n;

Dateinamen:

Speichern Sie dies als say-foo.cbot. Hinweis: Stellen Sie sicher, dass Sie beim Speichern das Kontrollkästchen "Öffentlich" aktivieren - dies führt dazu, dass sich say-foo.cbot im program/-Ordner befindet.
\c;
\s; extern void New()
\s; {
\s;     message("Foo");
\s; }
\n;

Verwenden Sie die Factory-Funktion wie folgt:
\c;
\s; extern void New()
\s; {
\s;     factory(WheeledGrabber, "program/say-foo.cbot");
\s; }
\n;
\t;Siehe auch
\c;\l;researched\u cbot\researched;\n;, \c;\l;wait\u cbot\wait;\n;.
\l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;.
