Exemple #1
0
        /// <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);
        }