119place
0 votes Vote

Copy creates duplicates that are never fixed

Long ago. I never ever copied controls. Ever. then I watched your videos and I noted how you copied controls around and thought it was clever. So I created some of the functions in my main graphs this way. copies of each other.

Ever since then. When i load the graph first time I get:
Could not load graph data: TownGenFunctionWrapper
System.ArgumentException: An item with the same key has already been added. Key: 5306472913577181282
at System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x000c1] in :0
at System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in :0
at MapMagic.Nodes.Graph.CheckFixIdsRecursively (System.Collections.Generic.HashSet`1[T] susGens, System.Collections.Generic.Dictionary`2[TKey,TValue] allIds, System.Collections.Generic.Dictionary`2[TKey,TValue] oldNewIds, System.Collections.Generic.List`1[T] zeroNewIds) [0x000a5] in \Assets\MapMagic\Nodes\Graph.cs:243
at MapMagic.Nodes.Graph.CheckFixIdsRecursively (System.Collections.Generic.HashSet`1[T] susGens, System.Collections.Generic.Dictionary`2[TKey,TValue] allIds, System.Collections.Generic.Dictionary`2[TKey,TValue] oldNewIds, System.Collections.Generic.List`1[T] zeroNewIds) [0x0011e] in \Assets\MapMagic\Nodes\Graph.cs:257
at MapMagic.Nodes.Graph.CheckFixIds (System.Collections.Generic.HashSet`1[T] susGens) [0x00013] in \Assets\MapMagic\Nodes\Graph.cs:212
at MapMagic.Nodes.GraphSerializer200Beta.Deserialize (MapMagic.Nodes.Graph graph) [0x00100] in \Assets\MapMagic\Nodes\GraphSerializer.cs:80
at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x0000f] in \Assets\MapMagic\Nodes\Graph.cs:1156
UnityEngine.Debug:LogError (object,UnityEngine.Object)
MapMagic.Nodes.Graph/c__DisplayClass78_0:b__0 () (at Assets/MapMagic/Nodes/Graph.cs:1164)
Den.Tools.Tasks.CoroutineManager:Update () (at Assets/MapMagic/Tools/ThreadManager/CoroutineManager.cs:136)
MapMagic.Core.MapMagicObject:Update () (at Assets/MapMagic/Core/MapMagicObject.cs:144)

The Only explanation is that the code to fix ID's is NOT fixing ID's. Maybe in function sub graphs?

Anyway. running the graph once fixes that until the next time I have to reload.

twobob, 17.09.2021, 16:16
Idea status: under consideration

Comments

twobob, 18.09.2021, 02:49
Also. this actually Blocks our game Build now.
this is IN GAME: an actual build.

https://cdn.discordapp.com/attachments/573636747284709377/888572792637890600/unknown.png
twobob, 18.09.2021, 02:52
Since that is the ACTUAL GAME, it never has the luxury of your code sorting out the messed up graph for the length of the session. And thus never ever works.

Leave a comment