====== Funktionsdesign ======
**Vielleicht ist es besser, wenn wir alle Funktionserklärungen in einer einheitlichen Form gestalten.** [[ reference:beispielfunktion|(Beispiel)]] oder [[ reference:beispielfunktion2|(Vorlage zum Kopieren)]]
FIXME
====== Befehlsreferenz======
FIXME Aus dieser Liste könnte ein "Hinweise zum Editieren dieser Seite" werden.
\\
\\
Dank nevermind gibt es nun eine Funktion, welche die Funktionsliste automatisch sortiert und gruppiert. \\
Dadurch wird der Arbeitsaufwand reduziert, und sichergestellt, daß jeder Eintrag in beiden Listen vorhanden ist, und die gleiche Beschreibung hat. \\
Die Seite, die dazu editiert werden muss ist diese hier: [[rawfunctionslist]] \\
Sie sieht allerdings nur im Editiermodus vernünftig aus. Normal ansehen soll sie sich ja auch keiner :)
Es gibt (momentan noch) folgende Einschränkungen dieser Liste:
* Leerzeilen sind nicht erlaubt Nun behoben, Leerzeilen können verwendet werden.
* Jede Zeile muss 3 Marker (#) haben
* Wenn ein Feld nicht bekannt ist, dann lässt man es weg. Dann steht dort Marker an Marker: ##
* Wenn man **diese** Seite hier vernünftig bearbeiten will, muss man die gesamte Seite bearbeiten, und darf keinen Knopf für einen Abschnitt verwenden
Die Ausgabe sieht dann so aus: \\
=====Befehlsreferenz in alphabetischer Ordnung=====
rawfunctionslist
\\
=====Befehlsreferenz nach Gruppen=====
rawfunctionslist
==== Tables ====
FIXME
Die Tables so aufzulisten macht eigentlich keinen Sinn, da man sie nicht "für sich" verwenden kann.
Wenn ein Table nur von einer einzigen Funktion verwendet wird, so sollte diese auch auf der Seite der Funktion erläutert werden, da es eben ein Parameter für die Funktion ist, der //nur dort// benötigt wird. \\
Wenn eine Tabelle an mehreren Stellen verwendet werden kann, beispielsweise Armeen oder Positions, so sollten diese auf eine eigene Seite "TableArmy", "TablePosition" (eigenen Namespace brauchen wir nicht, da es nur wenige sind, und sie so bequemer zu referenzieren sind). Auf diese Seite kann man dann von den entsprechenden Seiten verlinken. [[StartBriefing]] verlinkt zu [[TableBriefing]], welches zu [[TableBriefingPage]] verlinkt. [[ResolveBriefing]] (eigentlich ein irreführender Name) verlink zu [[TableBriefingPage]] etc... Chromix
^Tables^Elemente^Kurzbeschreibung^
|[[Army Description]]|(_player, _id, _position, _rodeLength _beAgressive)|Erstellen einer Armee|
|[[Position]]|(_X, _Y)||
|[[Briefing]]|(_title, _position.X, _position.Y, _text, _marker, _explore, _pointer, _finished, _noScrolling, _npc.id, _npc.isObserved, _quest.id, _quest.type, _quest.title, _quest.text)||
|[[Construction Plan File]]|(_type, _pos.X, _pos.Y, _level)||
|[[Research Plan File]]|(_type, _prob, _command)||
|[[Troop Description]]|(_leaderType, _maxNumberOfSoldiers, _minNumberOfSoldiers)||
|[[Ai Player Description]]|(_serfLimit, _extracting, _resources.gold, _resources.clay, _resources.wood, _resources.stone, _resources.iron, _resources.sulfur, _refresh.gold, _refresh.clay, _refresh.wood, _refresh.stone, _refresh.iron, _refresh.sulfur, _refresh.updateTime, _resourceFocus, _rebuild.delay, _rebuild.randomTime, _constructing, _repairing)||
|[[CreateNPC|NPC]]|(_name, _briefing, _vanishPos, _heroName, _wrongHeroMessage, _follow)||