示例#1
0
        public void Save()
        {
            var gon = new GonObject();

            gon.InsertChild(nameof(NumLevels), GonObject.Manip.FromInt(NumLevels));
            gon.InsertChild(nameof(NumAreas), GonObject.Manip.FromInt(NumAreas));
            gon.InsertChild(nameof(DoMusic), GonObject.Manip.FromBool(DoMusic));
            gon.InsertChild(nameof(DoPalettes), GonObject.Manip.FromBool(DoPalettes));
            gon.InsertChild(nameof(MusicPerLevel), GonObject.Manip.FromBool(MusicPerLevel));
            gon.InsertChild(nameof(DoShaders), GonObject.Manip.FromBool(DoShaders));
            gon.InsertChild(nameof(DoParticles), GonObject.Manip.FromBool(DoParticles));
            gon.InsertChild(nameof(DoOverlays), GonObject.Manip.FromBool(DoOverlays));
            gon.InsertChild(nameof(DoTileGraphics), GonObject.Manip.FromBool(DoTileGraphics));
            gon.InsertChild(nameof(DoNevermoreTilt), GonObject.Manip.FromBool(DoNevermoreTilt));
            gon.InsertChild(nameof(DoExodusWobble), GonObject.Manip.FromBool(DoExodusWobble));
            gon.InsertChild(nameof(DoNPCs), GonObject.Manip.FromBool(DoNPCs));
            gon.InsertChild(nameof(UseAreaTileset), GonObject.Manip.FromBool(UseAreaTileset));
            gon.InsertChild(nameof(CacheRuns), GonObject.Manip.FromInt(CacheRuns));
            gon.InsertChild(nameof(AreaType), GonObject.Manip.FromString(AreaType));
            gon.InsertChild(nameof(RepeatTolerance), GonObject.Manip.FromInt(RepeatTolerance));
            gon.InsertChild(nameof(AltLevel), GonObject.Manip.FromString(AltLevel));
            gon.InsertChild(nameof(GenerateCustomParticles), GonObject.Manip.FromBool(GenerateCustomParticles));
            gon.InsertChild(nameof(MaxParticles), GonObject.Manip.FromInt(MaxParticles));
            gon.InsertChild(nameof(GameDirectory), GonObject.Manip.FromString(GameDirectory));
            gon.InsertChild(nameof(MaxParticleEffects), GonObject.Manip.FromInt(MaxParticleEffects));
            gon.InsertChild(nameof(ManualLoad), GonObject.Manip.FromBool(ManualLoad));
            gon.InsertChild(nameof(DoCorruptions), GonObject.Manip.FromBool(DoCorruptions));
            gon.InsertChild(nameof(MirrorMode), GonObject.Manip.FromBool(MirrorMode));
            gon.InsertChild(nameof(DeadRacer), GonObject.Manip.FromBool(DeadRacer));
            gon.InsertChild(nameof(CartLives), GonObject.Manip.FromInt(CartLives));
            gon.InsertChild(nameof(DoPhysics), GonObject.Manip.FromBool(DoPhysics));
            gon.InsertChild(nameof(PlatformPhysics), GonObject.Manip.FromBool(PlatformPhysics));
            gon.InsertChild(nameof(PlayerPhysics), GonObject.Manip.FromBool(PlayerPhysics));
            gon.InsertChild(nameof(WaterPhysics), GonObject.Manip.FromBool(WaterPhysics));
            gon.InsertChild(nameof(LowGravPhysics), GonObject.Manip.FromBool(LowGravPhysics));
            gon.InsertChild(nameof(LevelMerge), GonObject.Manip.FromBool(LevelMerge));
            gon.InsertChild(nameof(ToolsInDirectory), GonObject.Manip.FromString(ToolsInDirectory));
            gon.InsertChild(nameof(ToolsOutDirectory), GonObject.Manip.FromString(ToolsOutDirectory));
            gon.InsertChild(nameof(RandomizeAreaType), GonObject.Manip.FromBool(RandomizeAreaType));
            gon.InsertChild(nameof(CRSmart), GonObject.Manip.FromBool(CRSmart));
            gon.InsertChild(nameof(CROverlays), GonObject.Manip.FromBool(CROverlays));
            gon.InsertChild(nameof(CRTumors), GonObject.Manip.FromBool(CRTumors));
            gon.InsertChild(nameof(CRAddTiles), GonObject.Manip.FromInt(CRAddTiles));
            gon.InsertChild(nameof(CRAddEnemies), GonObject.Manip.FromInt(CRAddEnemies));
            gon.InsertChild(nameof(CRSpikeStrips), GonObject.Manip.FromBool(CRSpikeStrips));
            gon.InsertChild(nameof(CRCrumbles), GonObject.Manip.FromBool(CRCrumbles));
            gon.InsertChild(nameof(CRCrushers), GonObject.Manip.FromBool(CRCrushers));
            gon.InsertChild(nameof(CRChaos), GonObject.Manip.FromBool(CRChaos));
            gon.InsertChild(nameof(CRWaterLevels), GonObject.Manip.FromBool(CRWaterLevels));
            gon.InsertChild(nameof(UserName), GonObject.Manip.FromString(UserName));

            gon.Save("data/text/settings.gon");
        }
        public static void SaveShadersList(List <Shader> ShadersList)
        {
            if (ShadersList != null)
            {
                var gon = new GonObject();
                foreach (var shader in ShadersList)
                {
                    var item = new GonObject();
                    item.InsertChild(GonObject.Manip.FromBool(shader.Enabled, "enabled"));
                    item.InsertChild(GonObject.Manip.FromString(shader.Content, "content"));
                    gon.InsertChild(shader.Name, item);
                }

                gon.Save($"data/text/shaders.gon");
            }
        }