forked from Shardstone/trail-into-darkness
added missing assets
This commit is contained in:
42
Assets/Code/GameState/Entities/CharacterBaseSettings.cs
Normal file
42
Assets/Code/GameState/Entities/CharacterBaseSettings.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Nox.Game {
|
||||
[CreateAssetMenu(fileName = "EntitiesBaseSettings", menuName = "Nox/Database/Entities/EntitiesBaseSettings")]
|
||||
public class CharacterBaseSettings: ScriptableObject {
|
||||
|
||||
[Header("Character General Defaults")]
|
||||
public int startAttributesPool = 12;
|
||||
|
||||
[Header("Character Creation Defaults")]
|
||||
public EntityAttributes defaultEntityAttributes;
|
||||
public EntityStats defaultEntityStats;
|
||||
public PerksData defaultPerksData;
|
||||
public ModifiersData defaultModifiersData;
|
||||
|
||||
[Header("General Racial Bonuses and Perks per Class")]
|
||||
public RacialBonuses [] racialBonuses;
|
||||
public ClassBonuses [] classBonuses;
|
||||
|
||||
[Header("Party System Defaults")]
|
||||
public int maxPartySize = 4;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public sealed class RacialBonuses {
|
||||
public CharacterRace race;
|
||||
public EntityAttributes defaultEntityAttributes;
|
||||
public EntityStats defaultEntityStats;
|
||||
public PerksData perksData;
|
||||
public ModifiersData modifiersData;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public sealed class ClassBonuses {
|
||||
public CharacterClass @class;
|
||||
public EntityAttributes defaultEntityAttributes;
|
||||
public EntityStats defaultEntityStats;
|
||||
public PerksData perksData;
|
||||
public ModifiersData modifiersData;
|
||||
}
|
||||
}
|
||||
@@ -2,14 +2,14 @@ using System;
|
||||
|
||||
namespace Nox.Game {
|
||||
public static class DefaultCharacterSystemsFactory {
|
||||
public static ICharacterSystems Create(int maxPartySize, PerkRegistry perkRegistry, CharacterRegistry characterRegistry) {
|
||||
public static ICharacterSystems Create(CharacterBaseSettings characterBaseSettings, PerkRegistry perkRegistry, CharacterRegistry characterRegistry) {
|
||||
IPerkFactory perkFactory = new PerkFactory(perkRegistry);
|
||||
ICharacterAttributesFactory attributesFactory = new CharacterAttributesFactory(characterRegistry);
|
||||
ICharacterStatsFactory statsFactory = new CharacterStatsFactory();
|
||||
ICharacterFactory characterFactory = new CharacterFactory(attributesFactory, statsFactory, perkFactory);
|
||||
IPartyFactory partyFactory = new PartyFactory(new PartyFactoryOptions {
|
||||
minPartySize = 1,
|
||||
maxPartySize = maxPartySize,
|
||||
maxPartySize = characterBaseSettings.maxPartySize,
|
||||
enforceUniqueCharacterIds = true
|
||||
});
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Nox.Game {
|
||||
[CreateAssetMenu(fileName = "EntitiesBaseSettings", menuName = "Nox/Database/Entities/EntitiesBaseSettings")]
|
||||
public class EntitiesBaseSettings: ScriptableObject {
|
||||
[Header("Character Creation")]
|
||||
public int startAttributesPool = 12;
|
||||
public int startLevel = 1;
|
||||
|
||||
public RacialBonus [] racialBonuses;
|
||||
}
|
||||
|
||||
public class RacialBonus {
|
||||
public CharacterRace race;
|
||||
public CharacterClass characterClass;
|
||||
public int bonus;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user