diff --git a/Assets/Scripts/Loading/Stage.cs b/Assets/Scripts/Loading/Stage.cs index 681342045804be4ea42c3e39bc8a1ac730b542de..e0164ce261b7d34818e67f63fbce2086bf0dc873 100644 --- a/Assets/Scripts/Loading/Stage.cs +++ b/Assets/Scripts/Loading/Stage.cs @@ -250,6 +250,7 @@ public bool set_record(string record_index) player_record = player_record_list[record_index].Clone(); player_record.name = record_name; + player_record.solved = false; store(false); return true; } @@ -281,6 +282,7 @@ public void push_record(double seconds_s = -1, bool force_push = false) player_record_list.Add(push.name, push); + player_record.solved = false; store(false); } @@ -522,7 +524,7 @@ public PlayerRecord Clone() { var ret = new PlayerRecord(this.name) { - solved = false, // this.solved, + solved = this.solved, seconds = this.seconds }; ret.factState = IJSONsavable<FactOrganizer>.postprocess(this.factState); diff --git a/Assets/Scripts/StageBehaviour.cs b/Assets/Scripts/StageBehaviour.cs index 5b08a6d6c23e4c73d9bef42bfc8f5a88e2785baf..1cb2349fc3f9fb29ccaf5926e6dfea431378f5c1 100644 --- a/Assets/Scripts/StageBehaviour.cs +++ b/Assets/Scripts/StageBehaviour.cs @@ -23,7 +23,7 @@ void Start() private void OnDestroy() { StageStatic.SetMode(Mode.Play); // no Mode.Create - StageStatic.stage.solution.hardreset(invoke_event: false); + // StageStatic.stage.solution.hardreset(invoke_event: false); NO! keep in memory! StageStatic.stage.factState.hardreset(invoke_event: false); } diff --git a/Assets/Scripts/StageStatic.cs b/Assets/Scripts/StageStatic.cs index aedd38f9239aa2c30fb4cadbb9d275bcb1365be8..c1427d5fa02974d05d47678f249e8049d8e92bfb 100644 --- a/Assets/Scripts/StageStatic.cs +++ b/Assets/Scripts/StageStatic.cs @@ -224,7 +224,7 @@ public static StageErrorStruct Validate(string category, int id, string name, st return new StageErrorStruct( category.Length == 0, ContainsNumber(category, id, true), - name.Length == 0 || ContainsKey(name, local), + name.Length == 0 || ContainsKey(name, false) || ContainsKey(name, true), false, !Worlds.Contains(scene), local == false,