Konfig Möglichkeiten

  • Ich bin an einem neuen Projekt dran, dass ich mit Config-einträgen modularisieren möchte.
    Da ich configs bisherimmer vermieden habe, möchte ich gerne erfahren, ob folgendes irgendwelche völlig bekloppten punkte enthält oder ob das so ok ist und funktionieren würde:


    Konstruktive Kritik ist sehr erwünscht.

  • Also prinzipiell würde ich das genau so machen. Ich nehme mal an "startingEffects[]" und "effects[]" sollen das gleiche sein?


    - L31/32:

    Code
    1. _starting = getText(configFile >> "CfgWeapons" >> "CODI_MS_Item1" >> "effects" >> str _effect >>"starting");
    2. _continuing = getText(configFile >> "CfgWeapons" >> "CODI_MS_Item1" >> "effects" >> str _effect >> "continuing");


    Das "str" in ("str _effect") macht keinen Sinn. Die Elemente in "_effects" sind schon Strings.



    - L35:
    Statt zu compilen:

    CSS
    1. [player] call compile _starting;

    Sollte man einfach die Funktion aus dem missionNamespace lesen:

    Code
    1. [player] call (missionNamespace getVariable _starting);
    2. // bzw. wenn _starting undefiniert sein kann:
    3. [player] call (missionNamespace getVariable [_starting, {}]);

    - Wenn du überall "player" benützt, dann wird das ganze mit Zeus-ferngesteuerten Einheiten nicht funktionieren.


    - Der Konfigeintrag "startingEffects" hat keinen Tag, befindet sich aber in einer total öffentlichen Klasse. Man müsste ihm konsequenter Weise einen Tag geben ("CODI_startingEffects"), da er mit anderen (zukünftigen ?) Einträgen kollidieren könnte. Bei CODI_MS_EffectX braucht man das nicht, da die Klasse selbst schon einen hat und damit nicht kollidieren kann.


    - "CODI_MS_Effect" schein ja keinen Effekt zu haben und wird daher nur als Basisklasse benützt. Man könnte ihr daher das Suffix "_base" geben. ("CODI_MS_Effect_base")


    - Wenn das mal viele Effekte werden, könnte man sich überlegen, die nicht doch besser in eine eigene Überklasse zu stecken. z.B. "CODI_CfgEffects".


    Sorry für das "nitpicking", aber du hattest gefragt. :P


  • Sorry für das "nitpicking", aber du hattest gefragt. :P

    A ich hatte gefragt.
    B ist alles sehr konstruktiv.


    player und items waren nur in dem Beispiel hardcoded
    startingEffects sollte wirklich effects sein


    Danke für die Hinweise!


    Aber:
    benützt! Bin dafür dieses Wort aus der deutschen Sprache zu streichen! :P