warfactoryracine/docs/03-implementation/configuration/module-configuration.md
StillHammer bbc811c151 Major documentation restructure and cleanup
- Restructure docs/ into hierarchical organization (00-overview → 04-reference)
- Eliminate duplicate global/ directory (-16 files)
- Integrate toCheck/ content into main structure
- Update CLAUDE.md with new documentation architecture
- Remove legacy engine references
- Consolidate 53 → 32 documentation files (-40% reduction)
- Add proper navigation README.md with clear entry points

New structure:
📁 00-overview/ - Vision & context
📁 01-architecture/ - Technical architecture
📁 02-systems/ - Game systems
📁 03-implementation/ - Testing & configuration
📁 04-reference/ - Technical reference

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-23 13:22:09 +08:00

1.6 KiB

Configuration des Modules

Configuration Système Modulaire

Configuration Dependencies System

Smart configuration avec recalculation automatique :

std::map<ConfigKey, std::vector<ComponentID>> dependencies = {
    {"materials.steel_plating.weight", {tank_mk1, tank_mk2, heavy_tank}},
    {"materials.steel_plating.cost", {economy_steel, factory_line_2}},
    {"weapons.cannon_75mm.damage", {tank_mk1, artillery_piece}}
};

void onConfigChange(ConfigKey key, json newValue) {
    auto affected = dependencies[key];
    for(auto component : affected) {
        DesignerModule::scheduleRecalc(component);
    }
}

Module Config Example

Configuration adaptable par module :

bool useNewSystem = config.getBool("use_new_tank_system");

json process(json input) {
    if(useNewSystem) {
        return newTankModule->process(input);
    } else {
        return legacyTankSystem->process(input);
    }
}

Avantages Configuration Modulaire

Développement :

  • Config changes : Restart required → Instant
  • A/B testing : Impossible → Trivial
  • Debugging : Needle in haystack → Surgical precision

Maintenance :

  • Module independence : Tightly coupled → Zero dependencies
  • Testing : Integration hell → Unit paradise
  • Deployment : Monolith → Microservices-like
  • Scaling : Rewrite → Configuration change

Points Couverts

Cette configuration correspond aux patterns de configuration modulaire mentionnés dans les Points 251-290.

Source : docs/toCheck/architecture-modulaire.md Type : Configuration système et dépendances