I did some more testing, and it is indeed as you say. That is, the only room that does not reset is the last one that spawns. Therefore, it is the only one that provides additional data.
Did you try connecting the arrays like I showed with the light blue arrow in place of the RoomRef?
Do you mean like in this screen? That is, I should join the break output pin with the make input pin?
Yes, to pass the modified ref with the newly added element.
Actually no, I’ll try it right away
Something has changed, but I’m not sure I understand why. And above all I’m not sure it’s over yet haha. Doing as you said, now each reference offers multiple info, but I’m not sure that this result can lead me with a simple find and length to the info of all the rooms that share the tag.
Before when I could access all the indexes, I used the scene component as values, now I’m using actor, can there be some correlation with this? Or do I have to look elsewhere to fix? Because I’ve already tried several actions but the results don’t change. For example, I tried to create a new array in which to append all the values that the last spawned room variable assumes, so that at the next spawn when it resets, the previous values are not lost and the new ones can be added. But anyway nothing has changed, always ref to index 0 and even the counter went crazy, it gave excess numbers.
What do you think about it? @3dRaven @ClockworkOcean
No, it doesn’t seem to be as I thought. I repurposed all the code to accommodate a scene component array but the result doesn’t change. However, even appending immediately after resetting the spawn variable didn’t help. The counter is correctly updated, the array isn’t. Yet they pass through the same node flow. Ideas?
Maybe you are constantly reworking and passing on the same procedural mesh handle / reference?
Do you see all of the procedural rooms meshes? Are they separate entities in the outliner?
Both in the scene/simulation and in the outliner all the distinct static meshes are present.
I also tried making the index of the get reference (tag) dictated by the index of the current loop, but they always get the last results at index 0.
@3dRaven
The print string in the append clearly showed the array update, but now that I look better (looking at the map) at each iteration it seems not to change the alphanumeric value added to the reference. It could be as you say, perhaps it is evaluating on the same but I can not explain how it is possible.
Could you show where this break node originates? is it from a find node from the dictionary?
There are some changes between the screenshots that don’t seem to line up correctly.
Maybe the source of the references is somehow malformed.
Ok so I noticed that the start of the event you are looping through a passed in array. From the component tag node I’m guessing you are not passing in an array of actors but an array of components of some sort.
Temp fake generator making static meshes to add to array and adds component tags from array
Shuffling into dictionary based on component tags
Example output
Key temps
Event could be converted to a function and then the temporary variables could be made local.
This was my bp gen right after the spawn pick. So it’s not enough, I have to loop (simple) this too. Save the tags and use the index to define the number of “rows” of the array, and simply fetch all the components with get child comp*? Then set tag and comp as (current) variables and intermediate between break and make with a manually created array. Ok. Although I still have some doubts, it works exactly for you, I’ll try to make these changes.
So I have to enter them manually? Can’t I automate it? Or by local did you mean created within the same bp gen?
I mean it can be made as a local variable (internal to the function and then discarded)
EURECA! IT WORKS! The bp gen part, that is the tag assignment to the actor, after the pick for the spawn, I left it unchanged. It still works. But in bind , when the manager receives the input, after the for each loop , the element is set as “currentref” , and I intermediated by creating a new array as you did, eliminating the “set members” node. And it works! The get tag remained as before. For information purposes. However I noticed that the index is in ascending order and the room number is descending, it’s anomalous I imagine.
Congratulations!. Happy further coding
So it’s not an anomaly? @3dRaven