Why is “InteractMessage()” of the interactable_component and not ? If it may fail with the effect, why is it not as well? I would like to get the SimulationEntity in that function, but i cannot because the GetSimulationEntity is .
On another note… why does the Getter function, here, GetSimulationEnity have the effect? How does getting the Sim change mutable variables?
Please select what you are reporting on:
Unreal Editor for Fortnite
What Type of Bug are you experiencing?
Verse
Steps to Reproduce
See docu for InteractMessage() and GetSimulationEntity
Expected Result
Getters not being or coming with
Observed Result
Trouble with doing my decides logic without the effect in InteractMessage()
I can work around this issue by storing the sim reference in the component as an optional entity, but i dont see the point in that limitation for the function of the interactable component
the function uses < decides > this will return the value in this case the message or will fail thus not return anything.
[] means its fallible so needs to be inside a failure context ie if(): or for(): ect
the InteractMessage allows you to get/set the message from the interactionComponent i dnt understand what your trying to do with the sim entity within this function ? This function is a simple get/set for text.
On the preview below a simple UpdateText() updates the text leaving that InteractMessage to do only what it needs to in this case set the text. You could add other game logic within the componant but i would not personally start mixing actual game function code with simple setters.
Note also the function uses < override > from the parent class
The InteractMessage has an Agent parameter. This agent is the player looking at the interactable mesh and the InteractMessage should then determine, which interaction text should be promted. So i would like to handle my decision on what message to return inside the InteractMessage function as that is what it is for.
I would like to access the Simulation Entity from within InteractMessage becasue i need it for my decides logic on what message to return.
BUT, InteractMessage is decides&reads and GetSimulationEntity[] is decides&transacts . Therefore i cannot call GetSimulationEntity from within InteractMessage as the transacts is a conflict.
So my question is
Either:
Why does GetSimulationEntity[] have the transacts effect. It is just a getter functuion.
OR:
Why is the InteractMessage function not decides&transacts .
But i believe the first question about GetSimulationEntity is the more important one in this context.
EDIT:
OMG writing the “< >” gets deleted by the markup or whatever