public sealed class GameplayConfigComposes the gameplay modules a game has chosen.
Remarks
Doc 28's RealmConfig.Use<T>(), living here rather than in Vixen.Live.Realm because Gameplay/ may not reference Live/ and because a single-player game composes modules too. A realm's own configuration forwards to this.
What Build is for is the refusals. Two modules declaring the same stat with different bounds, two definition types sharing a [DataContract] alias, a module whose dependency nobody used: each is a composition that compiles, runs, and is wrong in a way nothing reports. Named here, with both modules in the message.
Fields and properties (1)
public int CountHow many modules have been used.
Methods (4)
public GameplayConfig Use<TModule>() where TModule : IGameplayModule, new()Uses a module.
public GameplayConfig Use<TModule>(TModule module, Action<TModule>? configure = null) where TModule : IGameplayModuleUses a module that has already been constructed and configured.
public GameplayConfig Use<TModule>(Action<TModule> configure) where TModule : IGameplayModule, new()Uses a module with no state, configuring it as it is made.
public GameplayComposition Build()Checks the composition and produces it.
Used by (9)
- MmoModulesMmo.Shared
- CombatModuleTestsVixen.Gameplay.Combat.Tests
- GameplayConfigTestsVixen.Gameplay.Tests
- GameplayModuleBuilderVixen.Gameplay
- InventoryModuleTestsVixen.Gameplay.Inventory.Tests
- ItemsModuleTestsVixen.Gameplay.Items.Tests
- LootModuleTestsVixen.Gameplay.Loot.Tests
- ProgressionModuleTestsVixen.Gameplay.Progression.Tests
- ShootingModuleTestsVixen.Gameplay.Shooting.Tests