public void BroadcastGameLevelFinishData(bool showReplayCallout)
    {
        Debug.Log("Broadcast: BroadcastGameLevelFinishData:Starting");

        if (BroadcastNetworks.broadcastNetworksEnabled)
        {
            if (GameProfiles.Current.GetBroadcastRecordLevels())
            {
                if (BroadcastNetworks.IsRecording())
                {
                    Debug.Log("BroadcastGameLevelFinishData" + " record levels:" +
                              GameProfiles.Current.GetBroadcastRecordLevels());

                    BroadcastNetworks.StopRecording();

                    if (showReplayCallout)
                    {
                        ShowBroadcastRecordPlayShare();
                    }

                    GamePlayerRuntimeData runtimeData          = new GamePlayerRuntimeData();
                    GamePlayerController  gamePlayerController = GameController.CurrentGamePlayerController;

                    if (gamePlayerController != null)
                    {
                        runtimeData = gamePlayerController.runtimeData;
                    }

                    string word = GameCommunitySocialController.Instance.GetGameAdjective();

                    BroadcastNetworks.SetMetadata("about",
                                                  word + Locos.Get(LocoKeys.social_everyplay_game_results_message));

                    BroadcastNetworks.SetMetadata("game", Locos.Get(LocoKeys.app_display_name));
                    BroadcastNetworks.SetMetadata("level", Locos.Get(LocoKeys.game_type_arcade));
                    BroadcastNetworks.SetMetadata("level_name", Locos.Get(LocoKeys.game_type_arcade_mode));
                    BroadcastNetworks.SetMetadata("url", Locos.Get(LocoKeys.app_web_url));
                    BroadcastNetworks.SetMetadata("score", runtimeData.score.ToString("N0"));
                    BroadcastNetworks.SetMetadata("scores", runtimeData.scores.ToString("N0"));
                    BroadcastNetworks.SetMetadata("coins", runtimeData.coins.ToString("N0"));
                    BroadcastNetworks.SetMetadata("total_score", runtimeData.totalScoreValue.ToString("N0"));

                    Debug.Log("BroadcastGameLevelFinishData" + " runtimeData.scores:" + runtimeData.scores);
                }
            }
        }
    }
    // STATE

    public void UpdateState()
    {
        isEnabled            = AppConfigs.broadcastNetworksEnabled;
        isSupported          = BroadcastNetworks.IsSupported();
        isRecordingSupported = BroadcastNetworks.IsRecordingSupported();
        isFacecamSupported   = BroadcastNetworks.IsFacecamVideoRecordingSupported();

        Debug.Log("UIPanelCommunityBroadcast:" +
                  " isEnabled:" + isEnabled +
                  " isSuppored:" + isSupported +
                  " isRecordingSupported:" + isRecordingSupported +
                  " isFacecamSupported:" + isFacecamSupported);

        hideBroadcastRecordPlayShare();

        ShowContainerNotSupported();

        if (Application.isEditor)
        {
            isSupported          = true;
            isRecordingSupported = true;
            isFacecamSupported   = true;
        }

        if (isSupported)
        {
            if (isRecordingSupported)
            {
                ShowContainerSupported();
            }
        }

        if (isFacecamSupported)
        {
            showButtonBroadcastFacecamToggle();
        }
        else
        {
            hideButtonBroadcastFacecamToggle();
        }

        if (toggleRecordReplaysLevel != null)
        {
            toggleRecordReplaysLevel.isChecked = GameProfiles.Current.GetBroadcastRecordLevels();
        }
    }
    public void OnGameLevelStart(string levelCode)
    {
        Debug.Log("Broadcast: OnGameLevelStart" + " levelCode:" + levelCode);

        if (BroadcastNetworks.broadcastNetworksEnabled)
        {
            if (GameProfiles.Current.GetBroadcastRecordLevels())
            {
                Debug.Log("OnGameLevelStart" + " record levels:" + GameProfiles.Current.GetBroadcastRecordLevels());

                if (!BroadcastNetworks.IsRecording())
                {
                    BroadcastNetworks.StartRecording();
                }
            }
        }
    }