using System; using System.Collections.Generic; using System.Text.RegularExpressions; using Adventurer.Runtime; using Core.Runtime; using Player.Runtime; using Quests.Runtime; using TMPro; using UnityEngine; namespace MenuSystem.Runtime { public class NewGame : BaseMonobehaviour { #region Publics // #endregion #region Unity API // #endregion #region Main Methods public void CreateProfile() { if (_guildName.text != "") { string rawName = _guildName.text; string cleanedName = CleanInput(rawName); PlayerClass newPlayerClass = new PlayerClass(cleanedName, 1, 1000, 5); string saveName = newPlayerClass.GuildName.Replace(" ", "_"); /* Creation du FakeProfile "Continuer" */ SetFact("profile", saveName, FactPersistence.Persistent);; SaveFacts("continue"); RemoveFact("profile"); /* Création du profile joueur */ SetFact(saveName, newPlayerClass, FactPersistence.Persistent); SetFact("game_time", new GameTime(), FactPersistence.Persistent); SetFact>("my_adventurers", new List(), FactPersistence.Persistent); SetFact>("accepted_quests", new List(), FactPersistence.Persistent); SetFact>("active_quests", new List(), FactPersistence.Persistent); SetFact>("completed_quests", new List(), FactPersistence.Persistent); SetFact>>("events_quests_history", new Dictionary>(), FactPersistence.Persistent); GameManager.Instance.Profile = saveName; SaveFacts(); SceneLoader.Instance.LoadScene("Game"); } } #endregion #region Utils string CleanInput(string input) { return Regex.Replace(input.Trim(), @"[\u200B-\u200D\uFEFF]", ""); // supprime les espaces invisibles } #endregion #region Privates and Protected [SerializeField] private TextMeshProUGUI _guildName; #endregion } }