I was gathering some referenced ActionListAssets through iActionListAssetReferencer, and I noticed that ActionMenuSetInputBox wasn't being collected.
The reason is:
csharp
public bool CanTranslate (int index)
{
return setMenuInputBoxSource == SetMenuInputBoxSource.EnteredHere && newLabelParameterID < 0 && !string.IsNullOrEmpty (newLabel);
}
Here, newLabelParameterID is 1. I changed the condition in this code to newLabelParameterID < 1, and it successfully gathered this translation. Could you guys take a look at what the proper fix should be? For now, I've worked around the issue and managed to collect the translation.
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
maybe newLabelLineID <0 will be better
The newLabelParameterID value check is there to prevent translations when the Label value is overridden by a parameter. Is this the case with your Action?
setMenuInputBoxSource == SetMenuInputBoxSource.EnteredHere,
so we don't use parameter ,just use the value enterd here
in my parameters juse an Gameobject parameter ,i don't have any string parameter,but newLabelParameterID still epual 1 ,i don't know why
Can you share screenshots of the Action, and how you're determining this? What is your AC version, also?
If you create a new instance of the "Menu: Update content" Action and give it the same values (manually), does it have the same issue?
I previously copied an Action that had a string parameter in use, and pasted it into several other ActionLists. Later, I pasted it into other ActionLists that don't use string parameters, and filled in the content manually. I think the copied data carried over this parameterID = 1, so all the pasted versions kept that data. I'd like you to handle this situation. The only way I can reset this data is by removing and re-adding the Action. When pasting an Action, if the parameterID exceeds the parameters length, or the type doesn't match, please print out the data so the creator can re-add it, or at least become aware of it.