I was expecting to see a callback in Parameter Execute DAT for adding/removing sequenceBlocks, similarly how we have the callbacks for Replicators. Hope I didn’t just miss it somehow.
My current workaround consists of a Parameter DAT scoping onto the sequence parameters, and a DAT Execute:OnTableChange.
In my current code I just iterate through them, so I don’t specifically care if one was added or removed, so it’s kinda fine, however to do that users would have to store some data and check against it.
I was able to create my own callbacks for adding and removing sequences by checking the numBlocks and returning the new block reference, or the index of the deleted block.
However it only works for adding/removing at the end of the sequence, and will not be able to return a reference to the block when inserting or removing in between other blocks and not the end.
I spent a couple of hours trying to find any solution but I wasn’t able to obtain any persistent reference to the new blocks created or in-betweens deleted since:
The index of the sequence always stays sequential, only the length changes
Building a hash of parameter names + values to check against will not work due to the previous point + default parameter values matching.
Checking object id() of the blocks before/after adding/removing results in different ids for all blocks, so you cannot check against to figure out where the addition/removal happened