示例#1
0
        public MessageBoxView(string title, string text, ButtonEnum buttons, Icon icon)
        {
            InitializeComponent();
#if DEBUG
            this.AttachDevTools();
#endif

            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                ExtendClientAreaToDecorationsHint  = true;
                ExtendClientAreaChromeHints        = Avalonia.Platform.ExtendClientAreaChromeHints.NoChrome;
                ExtendClientAreaTitleBarHeightHint = -1;

                var windowsTitleBar = this.FindControl <WindowsMsgBoxTitleBar>("windowsTitleBar");
                windowsTitleBar.IsVisible = true;
                TextBlock systemChromeTitle = windowsTitleBar.FindControl <TextBlock>("SystemChromeTitle");
                systemChromeTitle.Text = title;
            }

            var vm = new MessageBoxViewModel(new MessageBoxParams
            {
                ContentMessage        = text,
                ContentTitle          = title,
                Icon                  = icon,
                WindowStartupLocation = WindowStartupLocation.CenterScreen,
                MaxWidth              = 600,
                ButtonDefinitions     = buttons
            }, this);
            DataContext = vm;
            // Workaround a layout issue
            Width = 600;
        }
示例#2
0
        public static int GetLane(this ButtonEnum button)
        {
            switch (button)
            {
            case ButtonEnum.Square:
            case ButtonEnum.SquareDouble:
            case ButtonEnum.SquareHold:
                return(1);

            case ButtonEnum.Cross:
            case ButtonEnum.CrossDouble:
            case ButtonEnum.CrossHold:
                return(2);

            case ButtonEnum.Triangle:
            case ButtonEnum.TriangleDouble:
            case ButtonEnum.TriangleHold:
                return(3);

            case ButtonEnum.Circle:
            case ButtonEnum.CircleDouble:
            case ButtonEnum.CircleHold:
                return(4);

            default:
                return(0);
            }
        }
示例#3
0
        private ButtonState getState(ButtonEnum butt)
        {
            switch (buttonChange(butt))
            {
            case (-1):
            {
                return(ButtonState.released);
            }

            case (1):
            {
                return(ButtonState.pressed);
            }

            case (0):
            {
                if (buttonDown(butt))
                {
                    return(ButtonState.down);
                }
                else
                {
                    return(ButtonState.up);
                }
            }

            default:
            {
                throw new IndexOutOfRangeException();
            }
            }
        }
示例#4
0
        public void PaintButton(Graphics _graphics, string id, ButtonEnum _type, int x, int y)
        {
            bool inside = x <= _MouseX && x + 16 >= _MouseX && y <= _MouseY && y + 16 >= _MouseY;

            if (inside)
            {
                ButtonInside = id;
            }
            Bitmap bitmap = null;

            switch (_type)
            {
            case ButtonEnum.plus: bitmap = inside ? Properties.Resources.plus_16x16_purple : Properties.Resources.plus_16x16_black; break;

            case ButtonEnum.top: bitmap = inside ? Properties.Resources.top_16x16_purple : Properties.Resources.top_16x16; break;

            case ButtonEnum.up: bitmap = inside ? Properties.Resources.up_16x16_purple : Properties.Resources.up_16x16; break;

            case ButtonEnum.down: bitmap = inside ? Properties.Resources.down_16x16_purple : Properties.Resources.down_16x16; break;

            case ButtonEnum.bottom: bitmap = inside ? Properties.Resources.bottom_16x16_purple : Properties.Resources.bottom_16x16; break;

            default: return;
            }
            _graphics.DrawImage(bitmap, x, y, 16, 16);
        }
示例#5
0
        /// <summary>
        /// 次のStateを決める
        /// </summary>
        /// <param name="current">選択したボタン</param>
        private void SwitchState(ButtonEnum current)
        {
            switch (current)
            {
            case ButtonEnum.戻る:
                nextState = GuildState.Menu;
                isEnd     = true;
                break;

            case ButtonEnum.報告:
                if (currentQuestInfo == null)
                {
                    return;
                }
                if (!currentQuestInfo.IsClear())
                {
                    return;
                }
                QuestClear();
                break;

            case ButtonEnum.あきらめる:
                if (currentQuestInfo == null)
                {
                    return;
                }
                RemoveQuest();
                break;

            case ButtonEnum.Null:
                break;
            }
        }
示例#6
0
 public void RemoveButtonKeyMapping(ButtonEnum button)
 {
     if (ButtonKeys.Contains((int)button))
     {
         ButtonKeys.Remove((int)button);//to save on later garbage collection
     }
 }
示例#7
0
        public void AddButtonLightMapping(ButtonEnum button, bool lightOnHold, int intensity)
        {
            int buttonEquivalent    = (int)button;
            ControllerLEDEnum light = (ControllerLEDEnum)GetLightForButton(button);

            AddButtonLightMapping(button, light, lightOnHold, intensity);
        }
示例#8
0
 public void ButtonEvent(ButtonEnum button, ButtonActionType buttonActionType)
 {
     _logger.Log("Click");
     //    var color = _gfx.GetPixel(x, y);
     //    _gfx.SetPixel(x, y, color == ScreenColor.Black ? ScreenColor.White : ScreenColor.Black);
     _gfx.Draw();
 }
示例#9
0
 public void AddButtonKeyMapping(ButtonEnum button, Microsoft.DirectX.DirectInput.Key keyCode, bool holdDown)
 {
     if (ButtonKeys.Contains((int)button))
     {
         ButtonKeys.Remove((int)button);//to save on later garbage collection
     }
     ButtonKeys[(int)button] = new KeyProperties(keyCode, holdDown);
 }
示例#10
0
 private void ResetColors(ButtonEnum button)
 {
     //if reset is pressed call reset function
     if (button == ButtonEnum.RESET)
     {
         compositionManager.ResetComposition(startingColor);
     }
 }
示例#11
0
        public void Update()
        {
            currentButton = ButtonEnum.Null;

            Vector2 mousePos = input.GetMousePosition();

            CheckButton(new Point((int)mousePos.X, (int)mousePos.Y));
        }
示例#12
0
    /// <summary>
    /// Get whether a specified button received a buttondown event this frame
    /// </summary>
    public bool GetButtonDown(ButtonEnum button, int controller = 0)
    {
        if (OnGetAxisValue != null)
        {
            return(OnGetButtonDown(button, controller));
        }

        return(false);
    }
示例#13
0
    /// <summary>
    /// Get whether a specified button received a buttonup event this frame
    /// </summary>
    public bool GetButtonUp(ButtonEnum button, int controller = 0)
    {
        if (OnGetButtonUp != null)
        {
            return(OnGetButtonUp(button, controller));
        }

        return(false);
    }
示例#14
0
    public bool OnButtonUp(ButtonEnum button)
    {
        if (_buttonStates.ContainsKey(button))
        {
            return(_buttonStates[button].onButtonUp);
        }

        return(false);
    }
示例#15
0
    // Returns true if the button being passed in is pressed, false otherwise
    public bool GetButtonPress(ButtonEnum button)
    {
        if (_buttonStates.ContainsKey(button))
        {
            return(_buttonStates[button].isPressed);
        }

        return(false);
    }
示例#16
0
    // Returns the duration of how long the button being passed in has been pressed, 0.0 if not pressed
    public float GetButtonPressTime(ButtonEnum button)
    {
        if (_buttonStates.ContainsKey(button))
        {
            return(_buttonStates[button].pressTime);
        }

        return(0.0f);
    }
示例#17
0
        public bool buttonPress(ButtonEnum button)
        {
            if (buttonChange(button) == 1)
            {
                return(true);
            }

            return(false);
        }
示例#18
0
        public bool buttonRelease(ButtonEnum button)
        {
            if (buttonChange(button) == -1)
            {
                return(true);
            }

            return(false);
        }
    /// <summary>
    /// Get whether a specified button is currently held for the controller holding this object
    /// </summary>
    public bool GetButton(ButtonEnum button)
    {
        if (OnGetButton != null)
        {
            return(OnGetButton(button));
        }

        return(false);
    }
示例#20
0
        public void Update()
        {
            currentButton = ButtonEnum.Null;

            Point mousePos =
                new Point((int)input.GetMousePosition().X, (int)input.GetMousePosition().Y);

            CheckMainButton(mousePos);
            CheckQuestList(mousePos);
        }
示例#21
0
            int lightLevel = 0; // index of lightState; 0 == lowest
            public FlashingLight(ButtonEnum b, List <Tuple <int, int> > ls, int i)
            {
                this.light       = controller.GetLightForButton(b);
                this.button      = b;
                this.lightStates = ls;
                this.iterations  = i;

                this.duration = this.lightStates[0].Item2;
                controller.SetLEDState(this.light, this.lightStates[0].Item1);
            }
示例#22
0
 //Used for Fan to Blow out smoke
 private void OnRemoveCloudsEvent(ButtonEnum buttonPress)
 {
     if (buttonPress == ButtonEnum.CLOUDREMOVE)
     {
         StopCoroutine(AfterTimePass(AppData.cloudSurviveTime));
         StartCoroutine(AfterTimePass(0));
         //Remove Event So No Errors Occur
         EventManager.instance.OnButtonPress -= OnRemoveCloudsEvent;
     }
 }
示例#23
0
 public static async Task ShowMessageAsync(ButtonEnum buttonEnum, string title, string message, Icon icon)
 {
     var msBoxStandardWindow = MessageBox.Avalonia.MessageBoxManager.GetMessageBoxStandardWindow(new MessageBoxStandardParams
     {
         ButtonDefinitions = buttonEnum,
         ContentTitle      = title,
         ContentMessage    = message,
         Icon = icon
     });
     await msBoxStandardWindow.Show();
 }
示例#24
0
 public void AddButtonLightMapping(ButtonEnum button, ControllerLEDEnum LED, bool lightOnHold, int intensity)
 {
     /*if (!ButtonLights.ContainsKey(button))
      *  ButtonLights.Add((int)button, new LightProperties(LED, lightOnHold, intensity));
      * else*/
     if (ButtonLights.Contains((int)button))
     {
         ButtonLights.Remove((int)button);//to save on later garbage collection
     }
     ButtonLights[(int)button] = new LightProperties(LED, lightOnHold, intensity);
 }
示例#25
0
 public void PressButton(ButtonEnum buttonToPress)
 {
     if (OnButtonPress != null)
     {
         OnButtonPress(buttonToPress);
     }
     else
     {
         Debug.LogError("OnButtonPress is Null");
     }
 }
示例#26
0
 public static async Task <ButtonResult> Show(string message, string title, ButtonEnum Buttons = ButtonEnum.Ok)
 {
     if (Dispatcher.UIThread.CheckAccess())
     {
         return(await InternalShow(message, title, Buttons));
     }
     else
     {
         return(await Dispatcher.UIThread.InvokeAsync(() => InternalShow(message, title, Buttons)));
     }
 }
示例#27
0
 public int buttonChange(ButtonEnum button)
 {
     if (!buttonHasChanged(button))
     {
         return(0);
     }
     else
     {
         return(buttonDown(button) ? 1 : -1);
     }
 }
示例#28
0
    public static void ResetMenu()
    {
        foreach (var button in Buttons)
        {
            button.Value.RemoveFromClassList("button-disabled");
            button.Value.RemoveFromClassList("button-focus");
            button.Value.AddToClassList("button");
        }

        DisabledButtons.Clear();
        _current = ButtonEnum.None;
    }
示例#29
0
 public static IMsBoxWindow <ButtonResult> GetMessageBoxStandardWindow(string title, string text,
                                                                       ButtonEnum @enum = ButtonEnum.Ok, Icon icon = Icon.None,
                                                                       WindowStartupLocation windowStartupLocation = WindowStartupLocation.CenterScreen,
                                                                       Style style = Style.None) => GetMessageBoxStandardWindow(new MessageBoxStandardParams
 {
     ContentTitle      = title,
     ContentMessage    = text,
     ButtonDefinitions = @enum,
     Icon  = icon,
     Style = style,
     WindowStartupLocation = windowStartupLocation
 });
示例#30
0
        private ControllerLEDEnum GetLightForButton(ButtonEnum button)
        {
            int buttonNumber = (int)button;

            if (buttonNumber >= 3 && buttonNumber < 33)
            {
                return((ControllerLEDEnum)(int)button + 1);
            }
            else
            {
                throw new System.ArgumentException("Button not a lit button");
            }
        }