forked from Shardstone/trail-into-darkness
23 lines
1.2 KiB
C#
23 lines
1.2 KiB
C#
using System;
|
|
|
|
namespace Nox.Game {
|
|
public static class CharacterSystemsFactory {
|
|
public static ICharacterSystems Create(
|
|
PartySettings partySettings,
|
|
StarterCharacterSettings starterCharacterSettings,
|
|
PerksRegistry perksRegistry,
|
|
CharacterRegistry characterRegistry,
|
|
ModifiersRegistry modifiersRegistry) {
|
|
IPerkFactory perkFactory = new PerkFactory(perksRegistry);
|
|
IModifiersFactory modifiersFactory = new ModifiersFactory(modifiersRegistry);
|
|
IModifierResolver modifierResolver = new ModifierResolver();
|
|
ICharacterAttributesFactory attributesFactory = new CharacterAttributesFactory(modifierResolver);
|
|
ICharacterStatsFactory statsFactory = new CharacterStatsFactory(starterCharacterSettings, modifierResolver);
|
|
ICharacterFactory characterFactory = new CharacterFactory(attributesFactory, statsFactory, perkFactory, modifiersFactory);
|
|
IPartyFactory partyFactory = new PartyFactory(partySettings, starterCharacterSettings);
|
|
|
|
return new CharacterSystems(perkFactory, modifiersFactory, modifierResolver, characterFactory, partyFactory);
|
|
}
|
|
}
|
|
}
|