private void OnClickCreate() { var gameInstance = GameInstance.Singleton; var selectedUI = SelectionManager.SelectedUI; if (selectedUI == null) { UISceneGlobal.Singleton.ShowMessageDialog("Cannot create character", "Please select character class"); Debug.LogWarning("Cannot create character, did not selected character class"); return; } var dataId = selectedUI.dataId; var characterName = inputCharacterName.text.Trim(); var minCharacterNameLength = gameInstance.minCharacterNameLength; var maxCharacterNameLength = gameInstance.maxCharacterNameLength; if (characterName.Length < minCharacterNameLength) { UISceneGlobal.Singleton.ShowMessageDialog("Cannot create character", "Character name is too short"); Debug.LogWarning("Cannot create character, character name is too short"); return; } if (characterName.Length > maxCharacterNameLength) { UISceneGlobal.Singleton.ShowMessageDialog("Cannot create character", "Character name is too long"); Debug.LogWarning("Cannot create character, character name is too long"); return; } var characterId = GenericUtils.GetUniqueId(); var characterData = new PlayerCharacterData(); characterData.Id = characterId; characterData.SetNewCharacterData(characterName, dataId); characterData.SavePersistentCharacterData(); if (eventOnCreateCharacter != null) { eventOnCreateCharacter.Invoke(); } }