I see. Ok well the issue with my implementation is that I don't know when the FOW logic is being updated, but it would be great to just call some function on FOWSystem to have everything updated at that time. So I'm just confused as to how to make this work in a turn based system like my game where I don't need any sort of update frequency happening, it's all manually called. Maybe the game flow is not clear, here's what I am looking to do:
There are 2 teams, which should not be able to see each other's characters if they are in the FOW.
1) Game start: each player's character's FOWRevealer is enabled or disabled depending on whether it is that character's team's turn. The FOW system then needs to update to reveal the current team's characters.
2) Player moves a character. The FOW needs to update to reveal the change based on the character's new position.
3) Player ends their turn. Each character's FOWRevealer is enabled or disabled again based on whether it is that character's team's turn. Then the FOW system needs to update to reveal the new team's characters and hide the old team's characters (if they are in the fog).
So what I don't understand is which components to enable/disable and force update when these 3 stages happen. I have the FOWRevealers all changing properly when the turns change, but the whole FOWsystem stuff is not really working, which must be because it's in the middle of some sort of updates or transitions when I have these stages happening. Sometimes it works perfectly but sometimes there is no update to the FOW.. or the FOWSystem.isvisible reports that a character is visible even though they are in the fog.