I am working on a turn based grid game using discrete actions and am using an Event to invoke RequestDecision(), the Event works and RequestDecision() is being called I have print statements that confirm it.
But then once RequestDecision() is invoked nothing happens it does not call OnActionReceived(), CollectObservations() or WriteDiscreteActionMask().
I have set the Academy as such on the Agent:
What am I doing wrong? If I don’t use an Event to call RequestDecision() and instead place it inside
like such the agent moves and RequestDecision() is being called but this is the wrong way to do it since it’s a turn based game that requires only a single move per turn. Any help would be greatly appreciated.
I still can’t get RequestDecision() to be invoke.
I have the event inside the OnEnable() function which I have overrided
For the agent child am I allowed to override the OnEnable() function??
If not, should I not be using Events where is the best place in the agent child code to invoke the RequestDecision() function?
I just looked at Agent.cs and in there OnEnable() is a protected virtual void which means it cannot be overriden so how are we suppose to use Events in the Agent then, any ideas would be helpful.