using System; using System.Collections.Generic; using UnityEngine; public class CharacterDataManager : Singleton_Mono { public Character_Data_SO data; [SerializeField] List data_List = new(); public Dictionary> data_Dic = new(); private const string SAVE_FILE_NAME = "CharacterData"; protected override void In_Init() { data_Dic = new(); var data = Load_Character_Data_List(); if (data != null && data.Count > 0) { data_List = new(); foreach (var item in data) { var so = ScriptableObject.CreateInstance(); so.data = item; so.name = item.realName; data_List.Add(so); } for (int i = 0; i < Enum.GetValues(typeof(E_Character_Type)).Length; i++) { var type = (E_Character_Type)i; //Debug.Log(type.ToString()); var list = data_List.FindAll(e => e.data.type == type.ToString()); data_Dic.Add(type.ToString(), list); } } } protected override bool Is_Singleton_Auto() { return true; } //void InitializeFromBaseImage() //{ // var data = ScriptableObject.CreateInstance(); // data.realName = "Yue Tao"; // data.stageName = "Yue Tao"; // data.gender = E_Character_Gender.Female.ToString(); // data.age = 16; // data.height = 165f; // data.weight = 50f; // data.birthday = "07/10"; // data.registrationDate = "2023/01/21"; // data.name = data.realName; ; // data.organizationInfo = new() // { // enemies = new[] { "TERMINOLOGY", "AGENDA ORGANIZATIONS", "TERRITORIAL" }, // agendas = new string[0], // territories = new string[0], // }; // data_List.Add(data); // this.data = data; //} [ContextMenu("保存", false)] public void Save_Character_Data_List() { List data = new(); foreach (var item in data_List) { data.Add(item.data); } JsonDataHandler.Save(data, SAVE_FILE_NAME, nameof(CharacterDataManager)); } [ContextMenu("读取", false)] public List Load_Character_Data_List() { List data = new(); JsonDataHandler.Try_Load(ref data, SAVE_FILE_NAME); return data; } }