protected override void ReceiveMessage(BoundUserInterfaceMessage message)
        {
            switch (message)
            {
            case SharedLatheComponent.LatheProducingRecipeMessage msg:
                if (!_prototypeManager.TryIndex(msg.ID, out LatheRecipePrototype recipe))
                {
                    break;
                }
                _queueMenu?.SetInfo(recipe);
                break;

            case SharedLatheComponent.LatheStoppedProducingRecipeMessage _:
                _queueMenu?.ClearInfo();
                break;

            case SharedLatheComponent.LatheFullQueueMessage msg:
                _queuedRecipes.Clear();
                foreach (var id in msg.Recipes)
                {
                    if (!_prototypeManager.TryIndex(id, out LatheRecipePrototype recipePrototype))
                    {
                        break;
                    }
                    _queuedRecipes.Enqueue(recipePrototype);
                }
                _queueMenu?.PopulateList();
                break;
            }
        }
Example #2
0
        protected override void ReceiveMessage(BoundUserInterfaceMessage message)
        {
            if (_window == null)
            {
                return;
            }

            switch (message)
            {
            case AirAlarmSetAddressMessage addrMsg:
                _window.SetAddress(addrMsg.Address);
                break;

            case AirAlarmUpdateDeviceDataMessage deviceMsg:
                _window.UpdateDeviceData(deviceMsg.Address, deviceMsg.Data);
                break;

            case AirAlarmUpdateAlarmModeMessage alarmMsg:
                _window.UpdateModeSelector(alarmMsg.Mode);
                break;

            case AirAlarmUpdateAlarmThresholdMessage thresholdMsg:
                _window.UpdateThreshold(ref thresholdMsg);
                break;

            case AirAlarmUpdateAirDataMessage airDataMsg:
                _window.UpdateGasData(ref airDataMsg.AirData);
                break;
            }
        }
Example #3
0
 protected override void ReceiveMessage(BoundUserInterfaceMessage message)
 {
     if (message is SpaceVillainArcadeDataUpdateMessage msg)
     {
         _menu?.UpdateInfo(msg);
     }
 }
        private void UserInterfaceOnOnReceiveMessage(BoundUserInterfaceMessage message)
        {
            switch (message)
            {
            case LatheQueueRecipeMessage msg:
                _prototypeManager.TryIndex(msg.ID, out LatheRecipePrototype recipe);
                if (recipe != null)
                {
                    for (var i = 0; i < msg.Quantity; i++)
                    {
                        Queue.Enqueue(recipe);
                        _userInterface.SendMessage(new LatheFullQueueMessage(GetIDQueue()));
                    }
                }
                break;

            case LatheSyncRequestMessage msg:
                if (!Owner.TryGetComponent(out MaterialStorageComponent storage))
                {
                    return;
                }
                _userInterface.SendMessage(new LatheFullQueueMessage(GetIDQueue()));
                if (_producingRecipe != null)
                {
                    _userInterface.SendMessage(new LatheProducingRecipeMessage(_producingRecipe.ID));
                }
                break;
            }
        }
 protected override void ReceiveMessage(BoundUserInterfaceMessage message)
 {
     base.ReceiveMessage(message);
     if (message is ValidationUpdateMessage msg)
     {
         Validation = new Regex(msg.ValidationString, RegexOptions.Compiled);
     }
 }
Example #6
0
 private void UserInterfaceOnOnReceiveMessage(BoundUserInterfaceMessage obj)
 {
     if (obj is ApcToggleMainBreakerMessage)
     {
         _provider.MainBreaker = !_provider.MainBreaker;
         _uiDirty = true;
     }
 }
Example #7
0
 protected override void ReceiveMessage(BoundUserInterfaceMessage message)
 {
     switch (message)
     {
     case MagicMirrorInitialDataMessage initialData:
         _window?.SetInitialData(initialData);
         break;
     }
 }
Example #8
0
 protected override void ReceiveMessage(BoundUserInterfaceMessage message)
 {
     switch (message)
     {
     case SharedVendingMachineComponent.VendingMachineInventoryMessage msg:
         _menu.Populate(msg.Inventory);
         break;
     }
 }
        /// <summary>
        ///     Sends a message to a specific session.
        /// </summary>
        /// <param name="message">The message to send.</param>
        /// <param name="session">The session to send the message to.</param>
        /// <exception cref="ArgumentNullException">Thrown if either argument is null.</exception>
        /// <exception cref="ArgumentException">Thrown if the session does not have this UI open.</exception>
        public void SendMessage(BoundUserInterfaceMessage message, IPlayerSession session)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            AssertContains(session);

            Owner.SendToSession(session, message, UiKey);
        }
        /// <summary>
        ///     Sends a message to ALL sessions that currently have the UI open.
        /// </summary>
        /// <param name="message">The message to send.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="message"/> is null.</exception>
        public void SendMessage(BoundUserInterfaceMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            foreach (var session in _subscribedSessions)
            {
                Owner.SendToSession(session, message, UiKey);
            }
        }
Example #11
0
        private void UserInterfaceOnOnReceiveMessage(BoundUserInterfaceMessage message)
        {
            switch (message)
            {
            case VendingMachineEjectMessage msg:
                TryEject(msg.ID);
                break;

            case InventorySyncRequestMessage msg:
                _userInterface.SendMessage(new VendingMachineInventoryMessage(Inventory));
                break;
            }
        }
Example #12
0
        protected override void ReceiveMessage(BoundUserInterfaceMessage message)
        {
            switch (message)
            {
            case BlockGameMessages.BlockGameVisualUpdateMessage updateMessage:
                switch (updateMessage.GameVisualType)
                {
                case BlockGameMessages.BlockGameVisualType.GameField:
                    _menu?.UpdateBlocks(updateMessage.Blocks);
                    break;

                case BlockGameMessages.BlockGameVisualType.HoldBlock:
                    _menu?.UpdateHeldBlock(updateMessage.Blocks);
                    break;

                case BlockGameMessages.BlockGameVisualType.NextBlock:
                    _menu?.UpdateNextBlock(updateMessage.Blocks);
                    break;
                }
                break;

            case BlockGameMessages.BlockGameScoreUpdateMessage scoreUpdate:
                _menu?.UpdatePoints(scoreUpdate.Points);
                break;

            case BlockGameMessages.BlockGameUserStatusMessage userMessage:
                _menu?.SetUsability(userMessage.IsPlayer);
                break;

            case BlockGameMessages.BlockGameSetScreenMessage statusMessage:
                if (statusMessage.isStarted)
                {
                    _menu?.SetStarted();
                }
                _menu?.SetScreen(statusMessage.Screen);
                if (statusMessage is BlockGameMessages.BlockGameGameOverScreenMessage gameOverScreenMessage)
                {
                    _menu?.SetGameoverInfo(gameOverScreenMessage.FinalScore, gameOverScreenMessage.LocalPlacement, gameOverScreenMessage.GlobalPlacement);
                }
                break;

            case BlockGameMessages.BlockGameHighScoreUpdateMessage highScoreUpdateMessage:
                _menu?.UpdateHighscores(highScoreUpdateMessage.LocalHighscores,
                                        highScoreUpdateMessage.GlobalHighscores);
                break;

            case BlockGameMessages.BlockGameLevelUpdateMessage levelUpdateMessage:
                _menu?.UpdateLevel(levelUpdateMessage.Level);
                break;
            }
        }
Example #13
0
        protected override void ReceiveMessage(BoundUserInterfaceMessage message)
        {
            if (_window == null)
            {
                return;
            }

            if (message is not ForensicScannerUserMessage cast)
            {
                return;
            }

            _window.Populate(cast);
        }
        internal void InternalReceiveMessage(BoundUserInterfaceMessage message)
        {
            switch (message)
            {
            case UpdateBoundStateMessage updateBoundStateMessage:
                State = updateBoundStateMessage.State;
                UpdateState(State);
                break;

            default:
                ReceiveMessage(message);
                break;
            }
        }
Example #15
0
        protected override void ReceiveMessage(BoundUserInterfaceMessage message)
        {
            if (_window == null)
            {
                return;
            }

            if (message is not HealthAnalyzerScannedUserMessage cast)
            {
                return;
            }

            _window.Populate(cast);
        }
Example #16
0
        protected override void ReceiveMessage(BoundUserInterfaceMessage message)
        {
            switch (message)
            {
            case RequestBodyPartSurgeryUIMessage msg:
                HandleBodyPartRequest(msg);
                break;

            case RequestMechanismSurgeryUIMessage msg:
                HandleMechanismRequest(msg);
                break;

            case RequestBodyPartSlotSurgeryUIMessage msg:
                HandleBodyPartSlotRequest(msg);
                break;
            }
        }
Example #17
0
        internal void ReceiveMessage(BoundUserInterfaceMessage wrappedMessage, IPlayerSession session)
        {
            if (!_subscribedSessions.Contains(session))
            {
                Logger.DebugS("go.comp.ui", "Got message from session not subscribed to us.");
                return;
            }

            switch (wrappedMessage)
            {
            case CloseBoundInterfaceMessage _:
                _subscribedSessions.Remove(session);
                break;

            default:
                OnReceiveMessage?.Invoke(wrappedMessage);
                break;
            }
        }
Example #18
0
        internal void ReceiveMessage(BoundUserInterfaceMessage wrappedMessage, IPlayerSession session)
        {
            if (!_subscribedSessions.Contains(session))
            {
                Logger.DebugS("go.comp.ui", "Got message from session not subscribed to us.");
                return;
            }

            switch (wrappedMessage)
            {
            case CloseBoundInterfaceMessage msg:
                var closeMsg = new ServerBoundUserInterfaceMessage(msg, session);
                _subscribedSessions.Remove(session);
                OnClosed?.Invoke(closeMsg);
                break;

            case BoundUserInterfaceMessage msg:
                var serverMsg = new ServerBoundUserInterfaceMessage(msg, session);
                OnReceiveMessage?.Invoke(serverMsg);
                break;
            }
        }
        protected override void ReceiveMessage(BoundUserInterfaceMessage message)
        {
            base.ReceiveMessage(message);
            switch (message)
            {
            case SharedReagentGrinderComponent.ReagentGrinderWorkStartedMessage workStarted:
                _menu.GrindButton.Disabled = true;
                _menu.GrindButton.Modulate = workStarted.GrinderProgram == SharedReagentGrinderComponent.GrinderProgram.Grind ? Color.Green : Color.White;
                _menu.JuiceButton.Disabled = true;
                _menu.JuiceButton.Modulate = workStarted.GrinderProgram == SharedReagentGrinderComponent.GrinderProgram.Juice ? Color.Green : Color.White;
                _menu.BeakerContentBox.EjectButton.Disabled  = true;
                _menu.ChamberContentBox.EjectButton.Disabled = true;
                break;

            case SharedReagentGrinderComponent.ReagentGrinderWorkCompleteMessage doneMessage:
                _menu.GrindButton.Disabled = false;
                _menu.JuiceButton.Disabled = false;
                _menu.GrindButton.Modulate = Color.White;
                _menu.JuiceButton.Modulate = Color.White;
                _menu.BeakerContentBox.EjectButton.Disabled  = false;
                _menu.ChamberContentBox.EjectButton.Disabled = false;
                break;
            }
        }
 protected override void ReceiveMessage(BoundUserInterfaceMessage message)
 {
     switch (message)
     {
     }
 }
 internal void SendToSession(IPlayerSession session, BoundUserInterfaceMessage message, object uiKey)
 {
     SendNetworkMessage(new BoundInterfaceMessageWrapMessage(message, uiKey), session.ConnectedClient);
 }
 public ServerBoundUserInterfaceMessage(BoundUserInterfaceMessage message, IPlayerSession session)
 {
     Message = message;
     Session = session;
 }
Example #23
0
 protected override void ReceiveMessage(BoundUserInterfaceMessage message)
 {
     base.ReceiveMessage(message);
     _menu?.HandleMessage(message);
 }
 public BoundInterfaceMessageWrapMessage(BoundUserInterfaceMessage message, object uiKey)
 {
     Directed = true;
     Message  = message;
     UiKey    = uiKey;
 }
 public new void SendMessage(BoundUserInterfaceMessage msg)
 {
     base.SendMessage(msg);
 }
 /// <summary>
 ///     Sends a message to the server-side UI.
 /// </summary>
 protected void SendMessage(BoundUserInterfaceMessage message)
 {
     Owner.SendMessage(message, UiKey);
 }
 /// <summary>
 ///     Invoked when the server sends an arbitrary message.
 /// </summary>
 protected virtual void ReceiveMessage(BoundUserInterfaceMessage message)
 {
 }
 internal void SendMessage(BoundUserInterfaceMessage message, object uiKey)
 {
     SendNetworkMessage(new BoundInterfaceMessageWrapMessage(message, uiKey));
 }