Ejemplo n.º 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);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 删除角色生平经历,只要对应内容匹配就会删掉
        /// </summary>
        /// <param name="ActorID">被删的角色 ID</param>
        /// <param name="RecordType">-1 = 任意,被删掉的记录类型</param>
        /// <param name="ParamType">-1 = 任意,参数类型</param>
        /// <param name="ParamValue">必填,参数内容</param>
        public static void DelLifeRecord(int ActorID, int RecordType = -1, int ParamType = -1, int ParamValue = -1)
        {
            var temp = DelLifeRecord(GetLifeRecords(ActorID), RecordType, ParamType, ParamValue).ToArray();

            LifeRecords.RemoveRecords(ActorID);
            LifeRecords.AddRecords(ActorID, temp);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 删除角色生平经历
        /// </summary>
        /// <param name="ActorID">被删的角色 ID</param>
        /// <param name="RecordType">被删掉的记录类型</param>
        public static void DelLifeRecord(int ActorID, int RecordType)
        {
            var records = LifeRecords.GetAllRecords(ActorID).ToList();

            records.RemoveAll(i => i.messageId == RecordType);
            LifeRecords.RemoveRecords(ActorID);
            LifeRecords.AddRecords(ActorID, records.ToArray());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 删除角色生平经历
        /// </summary>
        /// <param name="ActorID">被删的角色 ID</param>
        /// <param name="Records">被删掉的记录数组</param>
        public static void DelLifeRecord(int ActorID, LifeRecords.LifeRecord[] Records)
        {
            var records = LifeRecords.GetAllRecords(ActorID).ToList();

            records.RemoveAll(i => Records.Contains(i));
            LifeRecords.RemoveRecords(ActorID);
            LifeRecords.AddRecords(ActorID, records.ToArray());
        }