private bool _Clone(bool overwrite) { var error = StageStatic.Validate(category, id, name, description, scene); if (overwrite) { if (name == original_stage.name) { error.name = false; } if (id == original_stage.number) { error.id = false; } } if (!error.pass) { Error(error); return(false); } Stage new_stage = new Stage(original_stage, category, id, name, description, scene, true); if (!overwrite) { new_stage.ResetSaves(); } StageStatic.stage = new_stage; return(true); }
public static bool LoadStage(string name, bool local, bool restore_session) { if (!StageStatic.LoadInitStage(name, local, restore_session)) { return(false); } LoadScene(StageStatic.stage.scene); return(true); }
public void Clone() { if (!_Clone(false)) { return; } StageStatic.SetStage(name, true); StageStatic.LoadCreate(); }
public void Create() { var error = StageStatic.LoadNewStage(category, id, name, description, scene); if (!error.pass) { Error(error); return; } }
public void Edit() { if (original_stage.use_install_folder) { Error(StageStatic.StageErrorStruct.InvalidFolder); return; } _Save(); StageStatic.SetStage(name, true); StageStatic.LoadCreate(); }
// Update is called once per frame void Update() { if (Input.GetKeyDown(Key)) { if (LockOnly) { CamControl.enabled = !CamControl.enabled; CursorRenderer.enabled = CamControl.enabled; } else { Cursor.visible = !UICanvas.enabled; CamControl.enabled = UICanvas.enabled; CursorRenderer.enabled = UICanvas.enabled; UICanvas.enabled = !UICanvas.enabled; } } else if (Input.GetButton(modifier)) { if (Input.GetButtonDown(modundo)) { StageStatic.stage.factState.undo(); } else if (Input.GetButtonDown(modredo)) { StageStatic.stage.factState.redo(); } else if (Input.GetButtonDown(modreset)) { StageStatic.stage.factState.softreset(); } else if (Input.GetButtonDown(modsave)) { StageStatic.stage.push_record(); } else if (Input.GetButtonDown(modload)) { StageStatic.stage.factState.hardreset(); StageStatic.LoadInitStage(StageStatic.stage.name, !StageStatic.stage.use_install_folder); } } /* * //Todo before capturing: Make directories "UFrameIT-Screenshots/Unity_ScreenCapture" in project folder * else if (Input.GetKeyDown(ScreenshotKey)) { * ScreenCapture.CaptureScreenshot("UFrameIT-Screenshots\\Unity_ScreenCapture\\Capture.png"); * } */ }
public static void GenerateDemoA() { // Params float minimalSolutionHight = 6; // Generate Stage // TODO? use constructor Stage demo = new Stage(); demo.number = 0; demo.category = "Demo Category"; demo.name = "TechDemo A"; demo.scene = "RiverWorld"; demo.description = "Improvised Level\n(Loadable)"; demo.use_install_folder = true; demo.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.stage.store(); }
public void SetStage(string name, bool local) { StageStatic.SetStage(name, local); original_stage = StageStatic.stage; if (!original_stage.DeepLoad()) { Error(StageStatic.StageErrorStruct.NotLoadable); } category = original_stage.category; id = original_stage.number; this.name = original_stage.name; description = original_stage.description; scene = original_stage.scene; }
public override void Init() { StageStatic.SetStage("", local); StageStatic.ShallowLoadStages(); Dictionary <string, Stage> dict = local ? StageStatic.StageLocal : StageStatic.StageOfficial; var ord = local ? dict.Values.OrderBy(s => s.category) : dict.Values.OrderBy(s => StageStatic.Category.ContainsKey(s.category) ? StageStatic.Category[s.category] : -1); ord = ord.ThenBy(s => s.number); ListButtons(ord.ToList()); //scroll.verticalScrollbar.numberOfSteps = dict.Count; }
void Awake() { //GenerateDemoFiles.GenerateAll(); hintAnimationStartColor = _hintAnimationStartColor; hintAnimationEndColor = _hintAnimationEndColor; hintAnimationDuration = _hintAnimationDuration; StageAccomplished = _StageAccomplished; StageNotYetAccomplished = _StageNotYetAccomplished; StageError = _StageError; GadgetLaserDistance = _GadgetLaserDistance; GadgetPhysicalDistance = _GadgetPhysicalDistance; StageStatic.ShallowLoadStages(); //DontDestroyOnLoad(gameObject); }
void Start() { StageStatic.LoadInitStage(true /*StageStatic.stage.player_record.solved*/, gameObject); }
public void SetMode(Mode mode, GameObject obj = null) { obj ??= gameObject; StageStatic.SetMode(mode, obj); }
private void _Delete() { StageStatic.Delete(original_stage); }