diff --git a/Assets/Code/Core/EntryPoint.cs b/Assets/Code/Core/EntryPoint.cs index 291ef09..339c36b 100644 --- a/Assets/Code/Core/EntryPoint.cs +++ b/Assets/Code/Core/EntryPoint.cs @@ -104,18 +104,9 @@ namespace Nox.Core { var adventureData = new AdventureData(); - var characterBaseSettings = Addressables.LoadAssetAsync("CharacterBaseSettings").WaitForCompletion(); - var perKRegistry = Addressables.LoadAssetAsync("PerksRegistry").WaitForCompletion(); - var characterRegistry = Addressables.LoadAssetAsync("CharacterRegistry").WaitForCompletion(); - var defaultPartySettings = Addressables.LoadAssetAsync("DefaultPartySettings").WaitForCompletion(); - var modifiersRegistry = Addressables.LoadAssetAsync("ModifiersRegistry").WaitForCompletion(); - - var characterSystems = DefaultCharacterSystemsFactory.Create(characterBaseSettings, perKRegistry, characterRegistry, modifiersRegistry); - var partyCreatorModel = new PartyCreatorModel(characterSystems.CharacterFactory, characterSystems.PartyFactory, defaultPartySettings); - applicationStates = new Dictionary { [GameState.BootState] = new SplashGameState(bootstrapReferences, gameDataState), - [GameState.MainMenu] = new MainMenuGameState(gameDataState, menuGameStateData, bootstrapReferences, saveSystem, partyCreatorModel, adventureData, gameLogStore), + [GameState.MainMenu] = new MainMenuGameState(gameDataState, menuGameStateData, bootstrapReferences, saveSystem, adventureData, gameLogStore), [GameState.GameMode] = new GameModeGameState(gameDataState, bootstrapReferences, platform.PlatformSettings, saveSystem, sceneTransition, adventureData, gameLogStore), }; createApplicationStateMarker.End(); diff --git a/Assets/Code/Core/MainMenuGameState.cs b/Assets/Code/Core/MainMenuGameState.cs index c985a7f..b5978fa 100644 --- a/Assets/Code/Core/MainMenuGameState.cs +++ b/Assets/Code/Core/MainMenuGameState.cs @@ -21,7 +21,6 @@ namespace Nox.Core { private readonly MenuGameStateData menuGameStateData; private readonly BootstrapReferences bootstrapReferences; private readonly ISaveSystem saveSystem; - private readonly PartyCreatorModel partyCreatorModel; private readonly IGameLogStore gameLogStore; private AdventureData adventureData; private Action onStartGameRequested; @@ -34,14 +33,12 @@ namespace Nox.Core { MenuGameStateData menuGameStateData, BootstrapReferences bootstrapReferences, ISaveSystem saveSystem, - PartyCreatorModel partyCreatorModel, AdventureData adventureData, IGameLogStore gameLogStore) { this.gameDataState = gameDataState; this.menuGameStateData = menuGameStateData; this.bootstrapReferences = bootstrapReferences; this.saveSystem = saveSystem; - this.partyCreatorModel = partyCreatorModel; this.adventureData = adventureData; this.gameLogStore = gameLogStore; } @@ -49,8 +46,6 @@ namespace Nox.Core { public void EnterGameState() { IsGameStateInitialized = false; onStartGameRequested = mode => { - var party = partyCreatorModel.CreatePartyForNewRun(companionCount: 4); - gameDataState.ActiveParty = party; var sessions = saveSystem.GetAllSessions(); gameDataState.activeSessionId = sessions.Count > 0 ? sessions[0].sessionId @@ -67,6 +62,7 @@ namespace Nox.Core { gameDataState.ChangeGameState(GameState.GameMode); gameDataState.ChangePlayMode(saveData.activePlayMode); + gameDataState.ActiveParty = saveData.activeParty; }; menuGameStateData.startGameRequests += onStartGameRequested; @@ -80,7 +76,15 @@ namespace Nox.Core { await sceneHandle.Result.ActivateAsync(); var assetHandle = Addressables.LoadAssetAsync(bootstrapReferences.menuPrefabsContainer); await assetHandle.Task; - mainMenuView = new MainMenuView(assetHandle.Result, menuGameStateData, saveSystem); + var characterBaseSettings = Addressables.LoadAssetAsync("CharacterBaseSettings").WaitForCompletion(); + var perKRegistry = Addressables.LoadAssetAsync("PerksRegistry").WaitForCompletion(); + var characterRegistry = Addressables.LoadAssetAsync("CharacterRegistry").WaitForCompletion(); + var modifiersRegistry = Addressables.LoadAssetAsync("ModifiersRegistry").WaitForCompletion(); + + var partySettings = Addressables.LoadAssetAsync("DefaultPartySettings").WaitForCompletion(); + var characterSystems = CharacterSystemsFactory.Create(partySettings, characterBaseSettings, perKRegistry, characterRegistry, modifiersRegistry); + + mainMenuView = new MainMenuView(assetHandle.Result, menuGameStateData, saveSystem, gameDataState, partySettings, characterSystems); mainMenuView.Initialize(); IsGameStateInitialized = true; } diff --git a/Assets/Code/GameState/Entities/CharacterFactory.cs b/Assets/Code/GameState/Entities/CharacterFactory.cs index f38cca2..8403826 100644 --- a/Assets/Code/GameState/Entities/CharacterFactory.cs +++ b/Assets/Code/GameState/Entities/CharacterFactory.cs @@ -3,7 +3,7 @@ using ZLinq; namespace Nox.Game { public interface ICharacterFactory { - CharacterDefinition CreateCustomProtagonist(CustomCharacterCreationRequest request); + CharacterDefinition CreateProtagonist(CharacterCreationRequest request); CharacterDefinition CreateFromTemplate(CharacterTemplate template, CharacterRole role = CharacterRole.Companion); } @@ -35,7 +35,7 @@ namespace Nox.Game { } [Serializable] - public sealed class CustomCharacterCreationRequest : IEntityDefinition { + public sealed class CharacterCreationRequest : IEntityDefinition { public Guid Id { get; set; } = Guid.Empty; public string Name { get; set; } public CharacterRace Race { get; set; } @@ -64,7 +64,7 @@ namespace Nox.Game { this.modifiersFactory = modifiersFactory ?? throw new ArgumentNullException(nameof(modifiersFactory)); } - public CharacterDefinition CreateCustomProtagonist(CustomCharacterCreationRequest request) { + public CharacterDefinition CreateProtagonist(CharacterCreationRequest request) { if(request == null) { throw new ArgumentNullException(nameof(request)); } diff --git a/Assets/Code/GameState/Entities/DefaultCharacterSystemsFactory.cs b/Assets/Code/GameState/Entities/CharacterSystemsFactory.cs similarity index 84% rename from Assets/Code/GameState/Entities/DefaultCharacterSystemsFactory.cs rename to Assets/Code/GameState/Entities/CharacterSystemsFactory.cs index c94ca98..c157ef8 100644 --- a/Assets/Code/GameState/Entities/DefaultCharacterSystemsFactory.cs +++ b/Assets/Code/GameState/Entities/CharacterSystemsFactory.cs @@ -1,8 +1,9 @@ using System; namespace Nox.Game { - public static class DefaultCharacterSystemsFactory { + public static class CharacterSystemsFactory { public static ICharacterSystems Create( + PartySettings partySettings, StarterCharacterSettings starterCharacterSettings, PerksRegistry perksRegistry, CharacterRegistry characterRegistry, @@ -13,7 +14,7 @@ namespace Nox.Game { ICharacterAttributesFactory attributesFactory = new CharacterAttributesFactory(modifierResolver); ICharacterStatsFactory statsFactory = new CharacterStatsFactory(starterCharacterSettings, modifierResolver); ICharacterFactory characterFactory = new CharacterFactory(attributesFactory, statsFactory, perkFactory, modifiersFactory); - IPartyFactory partyFactory = new PartyFactory(starterCharacterSettings); + IPartyFactory partyFactory = new PartyFactory(partySettings, starterCharacterSettings); return new CharacterSystems(perkFactory, modifiersFactory, modifierResolver, characterFactory, partyFactory); } diff --git a/Assets/Code/GameState/Entities/DefaultCharacterSystemsFactory.cs.meta b/Assets/Code/GameState/Entities/CharacterSystemsFactory.cs.meta similarity index 100% rename from Assets/Code/GameState/Entities/DefaultCharacterSystemsFactory.cs.meta rename to Assets/Code/GameState/Entities/CharacterSystemsFactory.cs.meta diff --git a/Assets/Code/GameState/Entities/PartyCreatorModel.cs b/Assets/Code/GameState/Entities/PartyCreatorModel.cs index 8c2df2c..2040294 100644 --- a/Assets/Code/GameState/Entities/PartyCreatorModel.cs +++ b/Assets/Code/GameState/Entities/PartyCreatorModel.cs @@ -1,52 +1,28 @@ using System.Collections.Generic; +using System.Linq; namespace Nox.Game { public class PartyCreatorModel { private readonly ICharacterFactory characterFactory; private readonly IPartyFactory partyFactory; - private readonly DefaultPartySettings defaultPartySettings; - public PartyCreatorModel(ICharacterFactory characterFactory, IPartyFactory partyFactory, DefaultPartySettings defaultPartySettings) { + private readonly List characterCreationRequests; + private readonly PartySettings partySettings; + + public PartyCreatorModel(ICharacterFactory characterFactory, + IPartyFactory partyFactory, + List characterCreationRequests, + PartySettings partySettings) { this.characterFactory = characterFactory; this.partyFactory = partyFactory; - this.defaultPartySettings = defaultPartySettings; + this.characterCreationRequests = characterCreationRequests; + this.partySettings = partySettings; } - public PartyDefinition CreatePartyForNewRun(int companionCount) { - var protagonist = characterFactory.CreateCustomProtagonist(new CustomCharacterCreationRequest { - Name = "John Doe", - Attributes = new EntityAttributes { - attributes = new[] { - new Attribute(AttributeType.Might, 3), - new Attribute(AttributeType.Reflex, 3), - new Attribute(AttributeType.Knowledge, 3), - new Attribute(AttributeType.Perception, 3) - } - } - }); - - var rookAttributes = new EntityAttributes { - attributes = new[] { - new Attribute(AttributeType.Might, 6), - new Attribute(AttributeType.Knowledge, 2), - new Attribute(AttributeType.Perception, 2), - new Attribute(AttributeType.Reflex, 4) - } - }; - - CharacterTemplate[] companionTemplates = { - new() { - Name = "Rook", - Attributes = rookAttributes, - Perks = new PerksData(){ - perks = new List() - } - } - }; - - var companions = new List(); - for(var i = 0; i < companionCount && i < companionTemplates.Length; i++) { - companions.Add(characterFactory.CreateFromTemplate(companionTemplates[i], CharacterRole.Companion)); + public PartyDefinition CreatePartyForNewRun() { + if(characterCreationRequests.Count > partySettings.maxPartySize) { + throw new System.ArgumentException("Too many characters requested."); } - + var protagonist = characterFactory.CreateProtagonist(characterCreationRequests.Find(r => r.Role == CharacterRole.Protagonist)); + var companions = characterCreationRequests.FindAll(r => r.Role != CharacterRole.Protagonist).Select(r => characterFactory.CreateProtagonist(r)); return partyFactory.Create(protagonist, companions); } } diff --git a/Assets/Code/GameState/Entities/PartyFactory.cs b/Assets/Code/GameState/Entities/PartyFactory.cs index 83f2530..e3e11a4 100644 --- a/Assets/Code/GameState/Entities/PartyFactory.cs +++ b/Assets/Code/GameState/Entities/PartyFactory.cs @@ -8,9 +8,11 @@ namespace Nox.Game { } public sealed class PartyFactory : IPartyFactory { + private readonly PartySettings partySettings; private readonly StarterCharacterSettings starterCharacterSettings; - public PartyFactory(StarterCharacterSettings starterCharacterSettings) { + public PartyFactory(PartySettings partySettings, StarterCharacterSettings starterCharacterSettings) { + this.partySettings = partySettings; this.starterCharacterSettings = starterCharacterSettings; } @@ -20,7 +22,7 @@ namespace Nox.Game { } var party = new PartyDefinition { - maxPartySize = starterCharacterSettings.maxPartySize <= 0 ? int.MaxValue : starterCharacterSettings.maxPartySize + maxPartySize = partySettings.maxPartySize <= 0 ? int.MaxValue : partySettings.maxPartySize }; var protagonistClone = protagonist.Clone(); diff --git a/Assets/Code/GameState/Entities/DefaultPartySettings.cs b/Assets/Code/GameState/Entities/PartySettings.cs similarity index 64% rename from Assets/Code/GameState/Entities/DefaultPartySettings.cs rename to Assets/Code/GameState/Entities/PartySettings.cs index 92830da..9e48f99 100644 --- a/Assets/Code/GameState/Entities/DefaultPartySettings.cs +++ b/Assets/Code/GameState/Entities/PartySettings.cs @@ -5,22 +5,25 @@ using UnityEngine; namespace Nox.Game { [CreateAssetMenu(fileName = "DefaultPartySettings", menuName = "Nox/Database/Entities/Default Party Settings")] - public class DefaultPartySettings : ScriptableObject { + public class PartySettings : ScriptableObject { + [Header("Party System Defaults")] + public int maxPartySize = 4; + [Header("This will be default starting set")] - public string startingSetId; + public string testStartingSetId; [Header("Party Definition Sets")] - public List partyDefinitionSets; + public List testPartyDefinitionSets; [Header("Testing Party Definition Sets")] - public StarterCharacterSettings starterCharacterSettings; + public StarterCharacterSettings testStarterCharacterSettings; private void OnValidate() { - if(String.IsNullOrEmpty(startingSetId)) { + if(String.IsNullOrEmpty(testStartingSetId)) { Debug.LogError("DefaultPartySettings: startingSetId cannot be null or empty"); return; } - foreach(var partyDefinitionSet in partyDefinitionSets) { + foreach(var partyDefinitionSet in testPartyDefinitionSets) { var partyDefinition = partyDefinitionSet.partyDefinition; if(partyDefinition == null) { return; @@ -32,8 +35,8 @@ namespace Nox.Game { } } - if(partyDefinitionSets.AsValueEnumerable().FirstOrDefault(pds => pds.id == partyDefinitionSet.id && pds.isTestingSet) != null) { - var testingSet = partyDefinitionSets.AsValueEnumerable().FirstOrDefault(pds => pds.id == partyDefinitionSet.id && pds.isTestingSet); + if(testPartyDefinitionSets.AsValueEnumerable().FirstOrDefault(pds => pds.id == partyDefinitionSet.id && pds.isTestingSet) != null) { + var testingSet = testPartyDefinitionSets.AsValueEnumerable().FirstOrDefault(pds => pds.id == partyDefinitionSet.id && pds.isTestingSet); ApplyClassAndRacialBonuses(testingSet); } @@ -47,9 +50,9 @@ namespace Nox.Game { private void ApplyClassAndRacialBonuses(PartyDefinitionSet testingSet) { var partyDefinition = testingSet.partyDefinition; foreach(var member in partyDefinition.members) { - var baseSettings = starterCharacterSettings.defaultEntityAttributes; - var classAttributes = starterCharacterSettings.classBonuses.AsValueEnumerable().FirstOrDefault(c => c.@class == member.Class)?.bonusAttributes; - var racialAttributes = starterCharacterSettings.racialBonuses.AsValueEnumerable().FirstOrDefault(rb => rb.race == member.Race)?.bonusAttributes; + var baseSettings = testStarterCharacterSettings.defaultEntityAttributes; + var classAttributes = testStarterCharacterSettings.classBonuses.AsValueEnumerable().FirstOrDefault(c => c.@class == member.Class)?.bonusAttributes; + var racialAttributes = testStarterCharacterSettings.racialBonuses.AsValueEnumerable().FirstOrDefault(rb => rb.race == member.Race)?.bonusAttributes; if (classAttributes != null && racialAttributes != null) { member.Attributes += baseSettings + classAttributes + racialAttributes; } diff --git a/Assets/Code/GameState/Entities/DefaultPartySettings.cs.meta b/Assets/Code/GameState/Entities/PartySettings.cs.meta similarity index 100% rename from Assets/Code/GameState/Entities/DefaultPartySettings.cs.meta rename to Assets/Code/GameState/Entities/PartySettings.cs.meta diff --git a/Assets/Code/GameState/Entities/StarterCharacterSettings.cs b/Assets/Code/GameState/Entities/StarterCharacterSettings.cs index 592e8e8..38cf6aa 100644 --- a/Assets/Code/GameState/Entities/StarterCharacterSettings.cs +++ b/Assets/Code/GameState/Entities/StarterCharacterSettings.cs @@ -14,9 +14,6 @@ namespace Nox.Game { [Header("General Racial Bonuses and Perks per Class")] public RacialBonuses [] racialBonuses; public ClassBonuses [] classBonuses; - - [Header("Party System Defaults")] - public int maxPartySize = 4; } [Serializable] diff --git a/Assets/Code/GameState/NoxSaveData.cs b/Assets/Code/GameState/NoxSaveData.cs index 95ce164..bfa1a50 100644 --- a/Assets/Code/GameState/NoxSaveData.cs +++ b/Assets/Code/GameState/NoxSaveData.cs @@ -35,7 +35,7 @@ namespace Nox.Game { gameDataState.activeSessionId = latestSession.sessionId; gameDataState.savedPartyPosition = saveData.partyPosition.ToVector3(); - gameDataState.ActiveParty = saveData.partyDefinition; + gameDataState.ActiveParty = saveData.activeParty; adventureData = saveData.adventureData; if(gameLogStore != null && saveData.gameLogData != null) { @@ -59,7 +59,7 @@ namespace Nox.Game { public AdventureData adventureData; // Party - public PartyDefinition partyDefinition; + public PartyDefinition activeParty; public SerializableVector3 partyPosition; // In-game log diff --git a/Assets/Code/GameState/PlayModes/AdventurePlayMode.cs b/Assets/Code/GameState/PlayModes/AdventurePlayMode.cs index 76da39c..0680738 100644 --- a/Assets/Code/GameState/PlayModes/AdventurePlayMode.cs +++ b/Assets/Code/GameState/PlayModes/AdventurePlayMode.cs @@ -156,7 +156,7 @@ namespace Nox.Game { public NoxSavedDataSet CaptureNoxSaveData() { return new NoxSavedDataSet { activePlayMode = PlayMode.Adventure, - partyDefinition = partyDefinition, + activeParty = partyDefinition, partyPosition = partyRef ? SerializableVector3.FromVector3(partyRef.transform.position) : SerializableVector3.Zero }; } diff --git a/Assets/Code/GameState/UI/CharacterCreationView.cs b/Assets/Code/GameState/UI/CharacterCreationView.cs index 9f40e85..aaae601 100644 --- a/Assets/Code/GameState/UI/CharacterCreationView.cs +++ b/Assets/Code/GameState/UI/CharacterCreationView.cs @@ -1,16 +1,44 @@ +using Jovian.SaveSystem; using Nox.Core; +using Nox.Game; using Nox.Game.UI; +using System.Collections.Generic; namespace Nox.UI { public class CharacterCreationView : IMenuView { - // we need prefab reference from the menu view, character creation data, save system, modifier calculation, gamemode state to start the game - // party creation data/system, - public CharacterCreationView(CharacterCreationReference characterCreationReference, MenuGameStateData menuGameStateData) { - characterCreationReference.startGameButton.onClick.AddListener(() => menuGameStateData.startGameRequests?.Invoke(PlayMode.Adventure)); + public ISaveSystem SaveSystem { get; } + private readonly CharacterCreationReference characterCreationReference; + private readonly MenuGameStateData menuGameStateData; + private readonly GameDataState gameDataState; + private readonly PartySettings partySettings; + private readonly ICharacterSystems characterSystems; + + private List characterCreationRequests; + + public CharacterCreationView( + CharacterCreationReference characterCreationReference, + MenuGameStateData menuGameStateData, + ISaveSystem saveSystem, + GameDataState gameDataState, + PartySettings partySettings, + ICharacterSystems characterSystems) { + SaveSystem = saveSystem; + this.characterCreationReference = characterCreationReference; + this.menuGameStateData = menuGameStateData; + this.gameDataState = gameDataState; + this.partySettings = partySettings; + this.characterSystems = characterSystems; + } public void Initialize() { - throw new System.NotImplementedException(); + characterCreationReference.startGameButton.onClick.AddListener(() => menuGameStateData.startGameRequests?.Invoke(PlayMode.Adventure)); + } + + public void CreateParty() { + var partyCreatorModel = new PartyCreatorModel(characterSystems.CharacterFactory, characterSystems.PartyFactory, characterCreationRequests, partySettings); + var party = partyCreatorModel.CreatePartyForNewRun(); + gameDataState.ActiveParty = party; } public void Tick() { diff --git a/Assets/Code/SplashMainMenuUI/MainMenuView.cs b/Assets/Code/SplashMainMenuUI/MainMenuView.cs index e028657..121b6f9 100644 --- a/Assets/Code/SplashMainMenuUI/MainMenuView.cs +++ b/Assets/Code/SplashMainMenuUI/MainMenuView.cs @@ -4,7 +4,6 @@ using Jovian.SaveSystem; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.ResourceManagement.AsyncOperations; -using PlayMode = Nox.Core.PlayMode; namespace Nox.UI { /// @@ -14,15 +13,28 @@ namespace Nox.UI { private readonly MenuPrefabsContainer menuPrefabsContainer; private readonly MenuGameStateData menuGameStateData; private readonly ISaveSystem saveSystem; + private readonly GameDataState gameDataState; + private readonly PartySettings partySettings; + private readonly ICharacterSystems characterSystems; private MainMenuReference mainMenuReference; private CharacterCreationReference characterCreationReference; private CharacterCreationView characterCreationView; private AsyncOperationHandle charCreationHandle; - public MainMenuView(MenuPrefabsContainer menuPrefabsContainer, MenuGameStateData menuGameStateData, ISaveSystem saveSystem) { + public MainMenuView( + MenuPrefabsContainer menuPrefabsContainer, + MenuGameStateData menuGameStateData, + ISaveSystem saveSystem, + GameDataState gameDataState, + PartySettings partySettings, + ICharacterSystems characterSystems + ) { this.menuPrefabsContainer = menuPrefabsContainer; this.menuGameStateData = menuGameStateData; this.saveSystem = saveSystem; + this.gameDataState = gameDataState; + this.partySettings = partySettings; + this.characterSystems = characterSystems; } public void Initialize() { if(mainMenuReference == null) { @@ -39,14 +51,14 @@ namespace Nox.UI { } } - public void InitializeCharacterCreation() { + private void InitializeCharacterCreation() { charCreationHandle = Addressables.InstantiateAsync(menuPrefabsContainer.characterCreationReference); charCreationHandle.Task.ContinueWith(t => { if(t.IsFaulted) { Debug.LogError(t.Exception); } characterCreationReference =t.Result.GetComponent(); - characterCreationView = new CharacterCreationView(characterCreationReference, menuGameStateData); + characterCreationView = new CharacterCreationView(characterCreationReference, menuGameStateData, saveSystem, gameDataState, partySettings, characterSystems); characterCreationView.Show(); }); } diff --git a/Assets/Code/SplashMainMenuUI/MenuPrefabsContainer.cs b/Assets/Code/SplashMainMenuUI/MenuPrefabsContainer.cs index 8c30f43..ba98fb9 100644 --- a/Assets/Code/SplashMainMenuUI/MenuPrefabsContainer.cs +++ b/Assets/Code/SplashMainMenuUI/MenuPrefabsContainer.cs @@ -1,6 +1,5 @@ using UnityEngine; using UnityEngine.AddressableAssets; -using UnityEngine.ResourceManagement.ResourceLocations; namespace Nox.UI { [CreateAssetMenu(fileName = "MenuPrefabsContainer", menuName = "Nox/Database/UI/MenuPrefabContainer")] diff --git a/Assets/Database/Entities/DefaultPartySettings.asset b/Assets/Database/Entities/DefaultPartySettings.asset index e64a6b9..a03cd7f 100644 --- a/Assets/Database/Entities/DefaultPartySettings.asset +++ b/Assets/Database/Entities/DefaultPartySettings.asset @@ -12,92 +12,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ff702898b3cd4100b9b8230f04711fa9, type: 3} m_Name: DefaultPartySettings m_EditorClassIdentifier: Assembly-CSharp::Nox.Game.DefaultPartySettings - partyDefinitionSets: - - id: startingParty1 - partyDefinition: - maxPartySize: 4 - members: - - id: - displayName: - race: 0 - class: 0 - role: 0 - attributes: - might: 0 - reflex: 0 - knowledge: 0 - perception: 0 - stats: - health: 0 - stamina: 0 - level: 0 - experience: 0 - perksData: - perks: [] - activeModifiers: - modifiers: [] - - id: - displayName: - race: 0 - class: 0 - role: 0 - attributes: - might: 0 - reflex: 0 - knowledge: 0 - perception: 0 - stats: - health: 0 - stamina: 0 - level: 0 - experience: 0 - perksData: - perks: [] - activeModifiers: - modifiers: [] - - id: - displayName: - race: 0 - class: 0 - role: 0 - attributes: - might: 0 - reflex: 0 - knowledge: 0 - perception: 0 - stats: - health: 0 - stamina: 0 - level: 0 - experience: 0 - perksData: - perks: [] - activeModifiers: - modifiers: [] - - id: - displayName: - race: 0 - class: 0 - role: 0 - attributes: - might: 0 - reflex: 0 - knowledge: 0 - perception: 0 - stats: - health: 0 - stamina: 0 - level: 0 - experience: 0 - perksData: - perks: [] - activeModifiers: - modifiers: [] - attributesPointDistribution: - might: 0 - reflex: 0 - knowledge: 0 - perception: 0 - distributionPointsPerClass: - class: 0 - points: 0 + startingSetId: + partyDefinitionSets: [] + starterCharacterSettings: {fileID: 0} diff --git a/Assets/Prefabs/UI/Attribute.prefab b/Assets/Prefabs/UI/Attribute.prefab index 2224576..c793faf 100644 --- a/Assets/Prefabs/UI/Attribute.prefab +++ b/Assets/Prefabs/UI/Attribute.prefab @@ -772,7 +772,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: 5 + m_text: -1 m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a0ee74bf6f853704a8a568d5ef638ee9, type: 2} m_sharedMaterial: {fileID: 9074173216178389243, guid: a0ee74bf6f853704a8a568d5ef638ee9, type: 2} diff --git a/Assets/Prefabs/UI/Stat.prefab b/Assets/Prefabs/UI/Stat.prefab index 1cdb051..82e5c34 100644 --- a/Assets/Prefabs/UI/Stat.prefab +++ b/Assets/Prefabs/UI/Stat.prefab @@ -65,7 +65,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: 100 + m_text: -1 m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a0ee74bf6f853704a8a568d5ef638ee9, type: 2} m_sharedMaterial: {fileID: 9074173216178389243, guid: a0ee74bf6f853704a8a568d5ef638ee9, type: 2}