public override UpdateResult Update() { var dialogVisible = _provider.FriendlyChallengeDialogVisible(); if (dialogVisible != _previousVisibilityValue) { if (dialogVisible) { FriendlyChallenge?.Invoke(); } _previousVisibilityValue = dialogVisible; } return(UpdateResult.Continue); }