예제 #1
0
        public void Awake()
        {
            pathToButtonIndexMap          = new Dictionary <string, int>();
            overrideDefinitions           = new Dictionary <int, InputButtonDefinition>();
            pendingInputButtonDefinitions = new Dictionary <int, InputButtonDefinition>();
            pendingButtonStateOverrides   = new Dictionary <int, TrayInputButton.ButtonState>();
            CPDataEntityCollection cPDataEntityCollection = Service.Get <CPDataEntityCollection>();
            DataEntityHandle       entityByType           = cPDataEntityCollection.GetEntityByType <ControlsScreenData>();

            controlsScreenData = cPDataEntityCollection.GetComponent <ControlsScreenData>(entityByType);
            controlsScreenData.IsControlsScreenActive = true;
            if (controlsScreenData.LeftOptionContentKey != null)
            {
                setLeftOption(controlsScreenData.LeftOptionContentKey);
            }
            else
            {
                setUpLeftOptionPrefab(controlsScreenData.DefaultLeftOptionPrefab);
            }
            if (controlsScreenData.ButtonGroupContentKey != null)
            {
                setRightOption(controlsScreenData.ButtonGroupContentKey);
            }
            else
            {
                setRightOption(InputButtonsContentKey);
            }
            controlsScreenData.OnSetLeftOption              += onSetLeftOption;
            controlsScreenData.OnReturnToDefaultLeftOption  += onReturnToDefaultLeftOption;
            controlsScreenData.OnSetRightOption             += onSetRightOption;
            controlsScreenData.OnReturnToDefaultRightOption += onReturnToDefaultRightOption;
            CoroutineRunner.Start(loadOverrides(), this, "loadOverrides");
        }
    private void Start()
    {
        eventChannel = new EventChannel(Service.Get <EventDispatcher>());
        eventChannel.AddListener <ControlsScreenEvents.SetLeftOption>(onSetLeftOption);
        eventChannel.AddListener <ControlsScreenEvents.SetDefaultLeftOption>(onSetDefaultLeftOption);
        eventChannel.AddListener <ControlsScreenEvents.ReturnToDefaultLeftOption>(onReturnToDefaultLeftOption);
        eventChannel.AddListener <ControlsScreenEvents.SetRightOption>(onSetRightOption);
        eventChannel.AddListener <ControlsScreenEvents.ReturnToDefaultRightOption>(onReturnToDefaultRightOption);
        eventChannel.AddListener <ControlsScreenEvents.SetButton>(onSetButton);
        eventChannel.AddListener <SessionEvents.SessionEndedEvent>(onSessionEnded);
        DataEntityHandle handle = dataEntityCollection.AddEntity("ControlsScreenData");

        controlsScreenData = dataEntityCollection.AddComponent <ControlsScreenData>(handle);
    }
예제 #3
0
        public FindFour()
        {
            dataEntityCollection  = Service.Get <CPDataEntityCollection>();
            disablerManager       = Service.Get <UIElementDisablerManager>();
            dispatcher            = Service.Get <EventDispatcher>();
            jsonService           = Service.Get <JsonService>();
            localPlayerSessionId  = dataEntityCollection.LocalPlayerSessionId;
            localPlayerGameObject = SceneRefs.ZoneLocalPlayerManager.LocalPlayerGameObject;
            localPlayerParticipationController = localPlayerGameObject.GetComponent <ParticipationController>();
            DataEntityHandle handle = dataEntityCollection.FindEntityByName("ControlsScreenData");

            controlsData = dataEntityCollection.GetComponent <ControlsScreenData>(handle);
            addListeners();
            getDefinitions();
        }
        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);
        }