Esempio n. 1
0
        /// <summary>
        /// Update the UI state when new state data is received from the server.
        /// </summary>
        /// <param name="state">State data sent by the server.</param>
        public void UpdateState(BoundUserInterfaceState state)
        {
            var castState = (ReagentDispenserBoundUserInterfaceState)state;

            Title = castState.DispenserName;
            UpdateContainerInfo(castState);

            // Disable all buttons if not powered
            if (Contents.Children != null)
            {
                ButtonHelpers.SetButtonDisabledRecursive(Contents, !castState.HasPower);
                EjectButton.Disabled = false;
            }

            // Disable the Clear & Eject button if no beaker
            if (!castState.HasBeaker)
            {
                ClearButton.Disabled = true;
                EjectButton.Disabled = true;
            }

            switch (castState.SelectedDispenseAmount.Int())
            {
            case 1:
                DispenseButton1.Pressed = true;
                break;

            case 5:
                DispenseButton5.Pressed = true;
                break;

            case 10:
                DispenseButton10.Pressed = true;
                break;

            case 15:
                DispenseButton15.Pressed = true;
                break;

            case 20:
                DispenseButton20.Pressed = true;
                break;

            case 25:
                DispenseButton25.Pressed = true;
                break;

            case 30:
                DispenseButton30.Pressed = true;
                break;

            case 50:
                DispenseButton50.Pressed = true;
                break;

            case 100:
                DispenseButton100.Pressed = true;
                break;
            }
        }
        /// <summary>
        /// Update the UI state when new state data is received from the server.
        /// </summary>
        /// <param name="state">State data sent by the server.</param>
        public void UpdateState(BoundUserInterfaceState state)
        {
            var castState = (ChemMasterBoundUserInterfaceState)state;

            Title = castState.DispenserName;
            UpdatePanelInfo(castState);
            if (Contents.Children != null)
            {
                ButtonHelpers.SetButtonDisabledRecursive(Contents, !castState.HasPower);
                EjectButton.Disabled = !castState.HasBeaker;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Update the UI state when new state data is received from the server.
        /// </summary>
        /// <param name="state">State data sent by the server.</param>
        public void UpdateState(BoundUserInterfaceState state)
        {
            var castState = (AMEControllerBoundUserInterfaceState)state;

            // Disable all buttons if not powered
            if (Contents.Children != null)
            {
                ButtonHelpers.SetButtonDisabledRecursive(Contents, !castState.HasPower);
                EjectButton.Disabled = false;
            }

            if (!castState.HasFuelJar)
            {
                EjectButton.Disabled     = true;
                ToggleInjection.Disabled = true;
                FuelAmount.Text          = Loc.GetString("ame-window-fuel-not-inserted-text");
            }
            else
            {
                EjectButton.Disabled     = false;
                ToggleInjection.Disabled = false;
                FuelAmount.Text          = $"{castState.FuelAmount}";
            }

            if (!castState.IsMaster)
            {
                ToggleInjection.Disabled = true;
            }

            if (!castState.Injecting)
            {
                InjectionStatus.Text = Loc.GetString("ame-window-engine-injection-status-not-injecting-label") + " ";
            }
            else
            {
                InjectionStatus.Text = Loc.GetString("ame-window-engine-injection-status-injecting-label") + " ";
            }

            CoreCount.Text       = $"{castState.CoreCount}";
            InjectionAmount.Text = $"{castState.InjectionAmount}";
        }