forked from Shardstone/trail-into-darkness
added portraits and others
This commit is contained in:
@@ -80,11 +80,11 @@ namespace Nox.Core {
|
||||
var perKRegistry = Addressables.LoadAssetAsync<PerksRegistry>("PerksRegistry").WaitForCompletion();
|
||||
var characterRegistry = Addressables.LoadAssetAsync<CharacterRegistry>("CharacterRegistry").WaitForCompletion();
|
||||
var modifiersRegistry = Addressables.LoadAssetAsync<ModifiersRegistry>("ModifiersRegistry").WaitForCompletion();
|
||||
|
||||
var partySettings = Addressables.LoadAssetAsync<PartySettings>("DefaultPartySettings").WaitForCompletion();
|
||||
var portraitsHolder = Addressables.LoadAssetAsync<PortraitsHolder>("PortraitsHolder").WaitForCompletion();
|
||||
var characterSystems = CharacterSystemsFactory.Create(partySettings, characterBaseSettings, perKRegistry, characterRegistry, modifiersRegistry);
|
||||
|
||||
mainMenuView = new MainMenuView(assetHandle.Result, menuGameStateData, saveSystem, gameDataState, partySettings, characterSystems);
|
||||
mainMenuView = new MainMenuView(assetHandle.Result, menuGameStateData, saveSystem, gameDataState, partySettings, characterSystems, portraitsHolder);
|
||||
mainMenuView.Initialize();
|
||||
mainMenuView.Show();
|
||||
IsGameStateInitialized = true;
|
||||
|
||||
@@ -15,6 +15,7 @@ namespace Nox.UI {
|
||||
public TMP_Dropdown raceDropdown;
|
||||
public TMP_Dropdown classDropdown;
|
||||
public TMP_Dropdown perksDropdown;
|
||||
public TextMeshProUGUI pointsToDistribute;
|
||||
public AttributeReference[] attributeReference;
|
||||
public StatReference[] statReference;
|
||||
|
||||
|
||||
@@ -18,25 +18,27 @@ namespace Nox.UI {
|
||||
private readonly GameDataState gameDataState;
|
||||
private readonly PartySettings partySettings;
|
||||
private readonly ICharacterSystems characterSystems;
|
||||
private readonly PortraitsHolder portraitsHolder;
|
||||
|
||||
private List<CharacterCreationRequest> characterCreationRequests;
|
||||
private Action canStartCheck;
|
||||
private GameLogView gameLogView;
|
||||
private InGameLogger inGameLogger;
|
||||
|
||||
public CharacterCreationView(
|
||||
CharacterCreationReference characterCreationReference,
|
||||
public CharacterCreationView(CharacterCreationReference characterCreationReference,
|
||||
MenuGameStateData menuGameStateData,
|
||||
ISaveSystem saveSystem,
|
||||
GameDataState gameDataState,
|
||||
PartySettings partySettings,
|
||||
ICharacterSystems characterSystems) {
|
||||
ICharacterSystems characterSystems,
|
||||
PortraitsHolder portraitsHolder) {
|
||||
SaveSystem = saveSystem;
|
||||
this.characterCreationReference = characterCreationReference;
|
||||
this.menuGameStateData = menuGameStateData;
|
||||
this.gameDataState = gameDataState;
|
||||
this.partySettings = partySettings;
|
||||
this.characterSystems = characterSystems;
|
||||
this.portraitsHolder = portraitsHolder;
|
||||
}
|
||||
|
||||
public void Initialize() {
|
||||
@@ -89,7 +91,7 @@ namespace Nox.UI {
|
||||
gameDataState.ActiveParty = party;
|
||||
|
||||
inGameLogger.Log("Character Creation Results:");
|
||||
inGameLogger.Log($"Protagonist: {party.Protagonist.Name}", "FFBF00");
|
||||
inGameLogger.Log($"Protagonist: {party.Protagonist.Name}", "#FFBF00");
|
||||
inGameLogger.Log($"Protagonist Race: {party.Protagonist.Race}");
|
||||
inGameLogger.Log($"Protagonist Class: {party.Protagonist.Class}");
|
||||
inGameLogger.Log($"Companions: {party.Companions.Count}");
|
||||
|
||||
6
Assets/Code/GameState/UI/PortraitsHolder.cs
Normal file
6
Assets/Code/GameState/UI/PortraitsHolder.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(fileName = "PortraitsHolder", menuName = "Nox/Database/UI/PortraitsHolder")]
|
||||
public class PortraitsHolder : ScriptableObject {
|
||||
public Sprite[] portraits;
|
||||
}
|
||||
2
Assets/Code/GameState/UI/PortraitsHolder.cs.meta
Normal file
2
Assets/Code/GameState/UI/PortraitsHolder.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a49ac7886b19d34e9ecb10b8543bf9f
|
||||
@@ -17,25 +17,26 @@ namespace Nox.UI {
|
||||
private readonly GameDataState gameDataState;
|
||||
private readonly PartySettings partySettings;
|
||||
private readonly ICharacterSystems characterSystems;
|
||||
private readonly PortraitsHolder portraitsHolder;
|
||||
private MainMenuReference mainMenuReference;
|
||||
private CharacterCreationReference characterCreationReference;
|
||||
private CharacterCreationView characterCreationView;
|
||||
private AsyncOperationHandle<GameObject> charCreationHandle;
|
||||
|
||||
public MainMenuView(
|
||||
MenuPrefabsContainer menuPrefabsContainer,
|
||||
public MainMenuView(MenuPrefabsContainer menuPrefabsContainer,
|
||||
MenuGameStateData menuGameStateData,
|
||||
ISaveSystem saveSystem,
|
||||
GameDataState gameDataState,
|
||||
PartySettings partySettings,
|
||||
ICharacterSystems characterSystems
|
||||
) {
|
||||
ICharacterSystems characterSystems,
|
||||
PortraitsHolder portraitsHolder) {
|
||||
this.menuPrefabsContainer = menuPrefabsContainer;
|
||||
this.menuGameStateData = menuGameStateData;
|
||||
this.saveSystem = saveSystem;
|
||||
this.gameDataState = gameDataState;
|
||||
this.partySettings = partySettings;
|
||||
this.characterSystems = characterSystems;
|
||||
this.portraitsHolder = portraitsHolder;
|
||||
}
|
||||
public void Initialize() {
|
||||
if(!mainMenuReference) {
|
||||
@@ -64,7 +65,7 @@ namespace Nox.UI {
|
||||
charCreationHandle = Addressables.InstantiateAsync(menuPrefabsContainer.characterCreationReference);
|
||||
var result = charCreationHandle.WaitForCompletion();
|
||||
characterCreationReference =result.GetComponent<CharacterCreationReference>();
|
||||
characterCreationView = new CharacterCreationView(characterCreationReference, menuGameStateData, saveSystem, gameDataState, partySettings, characterSystems);
|
||||
characterCreationView = new CharacterCreationView(characterCreationReference, menuGameStateData, saveSystem, gameDataState, partySettings, characterSystems, portraitsHolder);
|
||||
characterCreationView.Initialize();
|
||||
characterCreationView.Show();
|
||||
}
|
||||
|
||||
@@ -6,5 +6,6 @@ namespace Nox.UI {
|
||||
public class MenuPrefabsContainer : ScriptableObject {
|
||||
public AssetReference mainMenuReference;
|
||||
public AssetReference characterCreationReference;
|
||||
public AssetReferenceT<PortraitsHolder> portraitsHolder;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user