/// <summary> /// 加载角色数据到存档中 /// </summary> /// <param name="DataJson"></param> public static void LoadActorData(string DataJson) { ActorAllData allData = JsonConvert.DeserializeObject <ActorAllData>(DataJson); int ActorID = 0; if (RuntimeConfig.EmptyActorId.Count == 0) { ActorID = (int)AccessTools.Method(typeof(DateFile), "GetNewActorId").Invoke(DateFile.instance, new object[] { }); } else { ActorID = RuntimeConfig.EmptyActorId.Pop(); } Characters.AddChar(ActorID, allData.ActorData); LifeRecords.AddRecords(ActorID, allData.LifeRecords.ToArray()); RuntimeConfig.TraverserLifeRecordFix.Add(ActorID, allData.LifeRecordFix); DateFile.instance.actorInjuryDate[ActorID] = allData.InjuryData; DateFile.instance.actorStudyDate[ActorID] = allData.StadyData; DateFile.instance.actorItemsDate[ActorID] = allData.ItemsData; DateFile.instance.actorEquipGongFas[ActorID] = allData.EquipGongFas; DateFile.instance.actorGongFas[ActorID] = allData.GongFas; DateFile.instance.actorLife[ActorID] = new Dictionary <int, List <int> >(); DateFile.instance.MoveOutPlace(ActorID); var place = DateFile.instance.GetActorAtPlace(DateFile.instance.mianActorId); DateFile.instance.MoveToPlace(place[0], place[1], ActorID, true); }