Skip to content
Snippets Groups Projects
Select Git revision
  • 3f5b981f8eb8cfe9ba8779eb9a6513a75c5e7599
  • master default
  • JS-based-scroll-rendering
  • Paul_Marius_Level
  • Paul_Marius_2
  • Paul_Marius
  • Andi_Mark
  • be-UnityWebView
  • gitignoreFrameitServer
  • ZimmerBSc
  • Bugfix_StageLoading
  • stages
  • MAZIFAU_Experimental
  • tsc/coneworld
  • tsc/fact-interaction
  • marcel
  • MaZiFAU_TopSort
  • mergeHelper
  • zwischenSpeichern
  • tempAndrToMaster
  • SebBranch
  • 3.0
  • v2.1
  • v2.0
  • v1.0
25 results

GenerateDemoFiles.cs

Blame
  • MaZiFAU's avatar
    Marco Zimmer authored
    + completed IJSONsavable<> & integration into Stage/Fact/Organizer-classes\n+ No error if no savegame found\n+ some bug fixes (create/load/save/edit)
    bd6fc83e
    History
    GenerateDemoFiles.cs 3.85 KiB
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using static CommunicationEvents;
    
    public class GenerateDemoFiles
    {
        static bool firstcall = true;
        public static void GenerateAll()
        {
            if (!firstcall) return;
            firstcall = false;
    
            Debug.LogWarning("Generating and Overwriting Stage Files");
            GenerateDemoA();
            GenerateDemoB();
        }
    
        public static void GenerateDemoA()
        {
            // Params
            float minimalSolutionHight = 6;
    
            // Generate Stage
            // TODO? use constructor
            Stage demo = new Stage
            {
                number = 1,
                category = "Demo Category",
                name = "TechDemo A",
                scene = "RiverWorld",
                description = "Tree Stage",
                use_install_folder = true,
                //hierarchie = new List<Directories> { /*Directories.Stages*/ }
            };
    
            // needed to generate facts
            StageStatic.StageOfficial = new Dictionary<string, Stage>
            {
                { demo.name, demo },
            };
            StageStatic.SetStage(demo.name, false);
    
            // Populate Solution
            PointFact
                buttom = new PointFact(Vector3.zero, Vector3.up, StageStatic.stage.solution),
                top = new PointFact(Vector3.zero + Vector3.up * minimalSolutionHight, Vector3.up, StageStatic.stage.solution);
    
            StageStatic.stage.solution.Add(buttom, out _);
            StageStatic.stage.solution.Add(top, out _, true);
    
            LineFact target = new LineFact(buttom.Id, top.Id, StageStatic.stage.solution);
            var target_Id = StageStatic.stage.solution.Add(target, out _, true);
    
            // Set Solution
            StageStatic.stage.solution.ValidationSet =
                new List<SolutionOrganizer.SubSolution>
                { new SolutionOrganizer.SubSolution(new HashSet<string> { target_Id }, null, null, new LineFactHightDirectionComparer()) };
    
            // Save
            StageStatic.SetMode(StageStatic.Mode.Create);
            StageStatic.stage.store();
        }
    
        public static void GenerateDemoB()
        {
            // Params
            float minimalSolutionHight = 6;
    
            // Generate Stage