Ejemplo n.º 1
0
        internal SaveFile()
        {
            RunData          = new RunData();
            TeamData         = new TeamData();
            RunArtifactsData = new RunArtifactsData();
            ArtifactsData    = new ArtifactsData();
            PlayersData      = new List <PlayerData>();

            foreach (var item in NetworkUser.readOnlyInstancesList)
            {
                PlayersData.Add(new PlayerData(item));
            }

            var gatheredData = new Dictionary <string, object>();

            OnGatgherSaveData?.Invoke(gatheredData);

            ModdedData = gatheredData.ToDictionary(
                el => el.Key,
                el => new ModdedData
            {
                ObjectType = el.Value.GetType().AssemblyQualifiedName,
                Value      = el.Value
            });
        }
Ejemplo n.º 2
0
        private void RegisterRunStartHook()
        {
            IL.RoR2.Run.Start += (il) =>
            {
                var c = new ILCursor(il);
                c.EmitDelegate <Func <bool> >(() =>
                {
                    FirstRunStage = true;
                    if (IsLoading)
                    {
                        Save.LoadRun();
                        Save.LoadArtifacts();
                        Save.LoadPlayers();
                    }
                    RunArtifactData = new RunArtifactsData();

                    return(IsLoading);
                });
                c.Emit(OpCodes.Brfalse, c.Next);
                c.Emit(OpCodes.Ret);
            };
        }
Ejemplo n.º 3
0
 internal void LoadArtifacts()
 {
     RunArtifactsData.LoadData();
     ArtifactsData.LoadData();
 }