private void enable()
 {
     if (isControlsScreenActive && !isActionSequenceInProgress && !isRaceInProgress)
     {
         interactInWorldIconController.SetEnabled(enabled: true);
     }
 }
        private void Start()
        {
            interactInWorldIconController = GetComponent <InteractInWorldIconController>();
            CPDataEntityCollection cPDataEntityCollection = Service.Get <CPDataEntityCollection>();
            DataEntityHandle       entityByType           = cPDataEntityCollection.GetEntityByType <ControlsScreenData>();

            controlsScreenData = cPDataEntityCollection.GetComponent <ControlsScreenData>(entityByType);
            interactInWorldIconController.SetEnabled(controlsScreenData.IsControlsScreenActive);
            controlsScreenData.OnControlsScreenActiveChanged += onControlsScreenActiveChanged;
            eventChannel = new EventChannel(Service.Get <EventDispatcher>());
            eventChannel.AddListener <ActionSequencerEvents.ActionSequenceStarted>(onActionSequenceStarted);
            eventChannel.AddListener <ActionSequencerEvents.ActionSequenceCompleted>(onActionSequenceCompleted);
            eventChannel.AddListener <TubeRaceEvents.LocalPlayerJoinedLobby>(onRaceLobbyEntered);
            eventChannel.AddListener <TubeRaceEvents.LocalPlayerLeftLobby>(onRaceLobbyLeft);
            eventChannel.AddListener <RaceGameEvents.Start>(onRaceGameStart);
            eventChannel.AddListener <RaceGameEvents.RaceFinished>(onRaceFinished);
        }