Example #1
0
 /// <summary>
 /// Handles mouse movements over the form.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private void Form1_MouseMove(object sender, MouseEventArgs e)
 {
     if (e.X > Width - 34 && e.X < Width && e.Y > 0 && e.Y < 34)
     {
         Hovered = MouseOver.EXIT;
     }
     else if (NEWBUTTON_RECTANGLE_3D_STATIC.Contains(e.X, e.Y))
     {
         Hovered = MouseOver.NEW_BUTTON_3D_STATIC;
     }
     else if (NEWBUTTON_RECTANGLE_2D.Contains(e.X, e.Y))
     {
         Hovered = MouseOver.NEW_BUTTON_2D;
     }
     else if (NEWBUTTON_RECTANGLE_3D_GIT.Contains(e.X, e.Y))
     {
         Hovered = MouseOver.NEW_BUTTON_3D_GIT;
     }
     else if (e.Y < 34)
     {
         Hovered = MouseOver.TOPBAR;
     }
     else
     {
         Hovered = MouseOver.NONE;
     }
     PicBox.Invalidate();
 }
Example #2
0
 /// <summary>
 /// Handles a mouse button being released.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private void Form1_MouseUp(object sender, MouseEventArgs e)
 {
     if (e.Button != MouseButtons.Left)
     {
         return;
     }
     if (Clicked == MouseOver.EXIT && Hovered == MouseOver.EXIT)
     {
         Close();
     }
     else if (Clicked == MouseOver.NEW_BUTTON_3D_STATIC && Hovered == MouseOver.NEW_BUTTON_3D_STATIC)
     {
         CreateGame(true, false);
     }
     else if (Clicked == MouseOver.NEW_BUTTON_2D && Hovered == MouseOver.NEW_BUTTON_2D)
     {
         CreateGame(false, false);
     }
     else if (Clicked == MouseOver.NEW_BUTTON_3D_GIT && Hovered == MouseOver.NEW_BUTTON_3D_GIT)
     {
         CreateGame(true, true);
     }
     Clicked  = MouseOver.NONE;
     Dragging = false;
     PicBox.Invalidate();
 }
 /// <summary>
 /// Handles a mouse button being pressed.
 /// </summary>
 /// <param name="sender">The event sender.</param>
 /// <param name="e">The event arguments.</param>
 private void Form1_MouseClick(object sender, MouseEventArgs e)
 {
     if (e.Button != MouseButtons.Left)
     {
         return;
     }
     if (Hovered == MouseOver.EXIT)
     {
         Clicked = MouseOver.EXIT;
     }
     else if (Hovered == MouseOver.NEW_BUTTON)
     {
         Clicked = MouseOver.NEW_BUTTON;
     }
     else if (Hovered == MouseOver.NEW_BUTTON_2D)
     {
         Clicked = MouseOver.NEW_BUTTON_2D;
     }
     else if (Hovered == MouseOver.TOPBAR)
     {
         Clicked  = MouseOver.TOPBAR;
         Dragging = true;
         DragLast = Cursor.Position;
     }
     else
     {
         Clicked = MouseOver.NONE;
     }
     PicBox.Invalidate();
 }
Example #4
0
        public override void SetAgent(IPlayerView view, IPieceAgent agent)
        {
            base.SetAgent(view, agent);

            Assert.IsNotNull(agent);
            Assert.IsNotNull(agent.Power);
            Assert.IsNotNull(agent.Health);
            Assert.IsNotNull(Power);
            Assert.IsNotNull(Health);

            agent.Power.Subscribe(p => Power.text   = $"{p}").AddTo(this);
            agent.Health.Subscribe(p => Health.text = $"{p}").AddTo(this);
            //agent.Model.ManaCost.Subscribe(p => Mana.text = $"{p}").AddTo(this);

            FindPiece().GetComponent <Renderer>().material
                = Owner.Value.Color == EColor.Black ? BoardView.BlackMaterial : BoardView.WhiteMaterial;

            MouseOver.DistinctUntilChanged().Subscribe(
                v =>
            {
                //BoardView.ShowSquares(this);
            }
                );
            Dead.Subscribe(d => { if (d)
                                  {
                                      Die();
                                  }
                           });
        }
Example #5
0
        public override bool AddSubscriptions()
        {
            Agent.Power.Subscribe(p => Power.text   = $"{p}").AddTo(this);
            Agent.Health.Subscribe(p => Health.text = $"{p}").AddTo(this);
            //agent.Model.ManaCost.Subscribe(p => Mana.text = $"{p}").AddTo(this);

            MouseOver.DistinctUntilChanged().Subscribe(
                v =>
            {
                //BoardView.ShowSquares(this);
            }
                );

            Dead.Subscribe(dead =>
            {
                if (!dead)
                {
                    return;
                }

                Info($"{Agent.Model} died");
                _Queue.Sequence(Cmd.Do(() => _AudioSource.PlayOneShot(DiedClip)));
                BoardView.Remove(this);
            });

            return(true);
        }
Example #6
0
 /// <summary>
 /// Performs a deep copy of this theme.
 /// </summary>
 /// <returns>A new instance of the theme.</returns>
 public ThemeStates Clone() => new ThemeStates()
 {
     Normal    = Normal.Clone(),
     Disabled  = Disabled.Clone(),
     MouseOver = MouseOver.Clone(),
     MouseDown = MouseDown.Clone(),
     Selected  = Selected.Clone(),
     Focused   = Focused.Clone(),
 };
Example #7
0
        protected virtual void OnHover(MouseMoveActionInfo info)
        {
            State = ControlState.Hovered;

            if (MouseOver != null)
            {
                MouseOver.Invoke(this, info);
            }
        }
Example #8
0
 public override object Clone() => new ListBoxItemColorTheme()
 {
     Normal    = Normal.Clone(),
     Disabled  = Disabled.Clone(),
     MouseOver = MouseOver.Clone(),
     MouseDown = MouseDown.Clone(),
     Selected  = Selected.Clone(),
     Focused   = Focused.Clone(),
 };
Example #9
0
 public virtual object Clone() => new ListBoxItemTheme()
 {
     Normal    = Normal.Clone(),
     Disabled  = Disabled.Clone(),
     MouseOver = MouseOver.Clone(),
     MouseDown = MouseDown.Clone(),
     Selected  = Selected.Clone(),
     Focused   = Focused.Clone(),
 };
Example #10
0
 /// <inheritdoc />
 public override ThemeBase Clone() => new DrawingSurfaceTheme()
 {
     Normal             = Normal.Clone(),
     Disabled           = Disabled.Clone(),
     MouseOver          = MouseOver.Clone(),
     MouseDown          = MouseDown.Clone(),
     Selected           = Selected.Clone(),
     Focused            = Focused.Clone(),
     UseNormalStateOnly = UseNormalStateOnly
 };
Example #11
0
 /// <inheritdoc />
 public override ThemeBase Clone() => new ProgressBarTheme()
 {
     Normal     = Normal.Clone(),
     Disabled   = Disabled.Clone(),
     MouseOver  = MouseOver.Clone(),
     MouseDown  = MouseDown.Clone(),
     Selected   = Selected.Clone(),
     Focused    = Focused.Clone(),
     Foreground = Foreground?.Clone(),
     Background = Background?.Clone()
 };
Example #12
0
 /// <inheritdoc />
 public override ThemeBase Clone() => new LabelTheme()
 {
     Normal                 = Normal.Clone(),
     Disabled               = Disabled.Clone(),
     MouseOver              = MouseOver.Clone(),
     MouseDown              = MouseDown.Clone(),
     Selected               = Selected.Clone(),
     Focused                = Focused.Clone(),
     UseNormalStateOnly     = UseNormalStateOnly,
     DecoratorStrikethrough = DecoratorStrikethrough,
     DecoratorUnderline     = DecoratorUnderline
 };
Example #13
0
 /// <inheritdoc />
 public override ThemeBase Clone() => new ButtonTheme()
 {
     Normal            = Normal.Clone(),
     Disabled          = Disabled.Clone(),
     MouseOver         = MouseOver.Clone(),
     MouseDown         = MouseDown.Clone(),
     Selected          = Selected.Clone(),
     Focused           = Focused.Clone(),
     ShowEnds          = ShowEnds,
     EndCharacterLeft  = EndCharacterLeft,
     EndCharacterRight = EndCharacterRight
 };
Example #14
0
 /// <inheritdoc />
 public override ThemeBase Clone()
 {
     return(new DrawingSurfaceTheme()
     {
         Normal = Normal.Clone(),
         Disabled = Disabled.Clone(),
         MouseOver = MouseOver.Clone(),
         MouseDown = MouseDown.Clone(),
         Selected = Selected.Clone(),
         Focused = Focused.Clone(),
     });
 }
Example #15
0
 /// <inheritdoc />
 public override ThemeBase Clone() => new ListBoxTheme((ScrollBarTheme)ScrollBarTheme.Clone())
 {
     Normal          = Normal.Clone(),
     Disabled        = Disabled.Clone(),
     MouseOver       = MouseOver.Clone(),
     MouseDown       = MouseDown.Clone(),
     Selected        = Selected.Clone(),
     Focused         = Focused.Clone(),
     BorderTheme     = BorderTheme?.Clone(),
     BorderLineStyle = (int[])BorderLineStyle?.Clone(),
     DrawBorder      = DrawBorder,
 };
Example #16
0
 /// <inheritdoc />
 public override object Clone()
 {
     return(new Button3dTheme()
     {
         Normal = Normal.Clone(),
         Disabled = Disabled.Clone(),
         MouseOver = MouseOver.Clone(),
         MouseDown = MouseDown.Clone(),
         Selected = Selected.Clone(),
         Focused = Focused.Clone(),
         Shade = Shade.Clone()
     });
 }
Example #17
0
 /// <inheritdoc />
 public override ThemeBase Clone() => new RadioButtonTheme()
 {
     Normal        = Normal.Clone(),
     Disabled      = Disabled.Clone(),
     MouseOver     = MouseOver.Clone(),
     MouseDown     = MouseDown.Clone(),
     Selected      = Selected.Clone(),
     Focused       = Focused.Clone(),
     CheckedIcon   = CheckedIcon?.Clone(),
     UncheckedIcon = UncheckedIcon?.Clone(),
     LeftBracket   = LeftBracket?.Clone(),
     RightBracket  = RightBracket?.Clone(),
 };
Example #18
0
 public override object Clone()
 {
     return(new TextBoxTheme()
     {
         Normal = Normal.Clone(),
         Disabled = Disabled.Clone(),
         MouseOver = MouseOver.Clone(),
         MouseDown = MouseDown.Clone(),
         Selected = Selected.Clone(),
         Focused = Focused.Clone(),
         CaretEffect = CaretEffect.Clone()
     });
 }
Example #19
0
 /// <inheritdoc />
 public override ThemeBase Clone() => new CheckBoxTheme()
 {
     Colors        = Colors?.Clone(),
     Normal        = Normal.Clone(),
     Disabled      = Disabled.Clone(),
     MouseOver     = MouseOver.Clone(),
     MouseDown     = MouseDown.Clone(),
     Selected      = Selected.Clone(),
     Focused       = Focused.Clone(),
     CheckedIcon   = CheckedIcon.Clone(),
     UncheckedIcon = UncheckedIcon.Clone(),
     LeftBracket   = LeftBracket.Clone(),
     RightBracket  = RightBracket.Clone(),
 };
 /// <summary>
 /// Returns a clone of this object.
 /// </summary>
 /// <returns>The cloned object.</returns>
 public override object Clone()
 {
     return(new ProgressBarTheme()
     {
         Normal = Normal.Clone(),
         Disabled = Disabled.Clone(),
         MouseOver = MouseOver.Clone(),
         MouseDown = MouseDown.Clone(),
         Selected = Selected.Clone(),
         Focused = Focused.Clone(),
         Foreground = Foreground.Clone(),
         Background = Background.Clone()
     });
 }
Example #21
0
 /// <inheritdoc />
 public override ThemeBase Clone()
 {
     return(new ButtonLinesTheme()
     {
         Normal = Normal.Clone(),
         Disabled = Disabled.Clone(),
         MouseOver = MouseOver.Clone(),
         MouseDown = MouseDown.Clone(),
         Selected = Selected.Clone(),
         Focused = Focused.Clone(),
         TopLeftLineColors = TopLeftLineColors.Clone(),
         BottomRightLineColors = BottomRightLineColors.Clone()
     });
 }
Example #22
0
 /// <inheritdoc />
 public override ThemeBase Clone()
 {
     return(new Button3dTheme()
     {
         Colors = Colors.Clone(),
         Normal = Normal.Clone(),
         Disabled = Disabled.Clone(),
         MouseOver = MouseOver.Clone(),
         MouseDown = MouseDown.Clone(),
         Selected = Selected.Clone(),
         Focused = Focused.Clone(),
         Shade = Shade.Clone()
     });
 }
Example #23
0
 /// <inheritdoc />
 public override ThemeBase Clone() => new ButtonLinesTheme()
 {
     Normal                = Normal.Clone(),
     Disabled              = Disabled.Clone(),
     MouseOver             = MouseOver.Clone(),
     MouseDown             = MouseDown.Clone(),
     Selected              = Selected.Clone(),
     Focused               = Focused.Clone(),
     TopLeftLineColors     = TopLeftLineColors.Clone(),
     BottomRightLineColors = BottomRightLineColors.Clone(),
     ShowEnds              = ShowEnds,
     EndCharacterLeft      = EndCharacterLeft,
     EndCharacterRight     = EndCharacterRight,
     UseExtended           = UseExtended
 };
Example #24
0
        private void AddCardSubscriptions()
        {
            MouseOver.Subscribe(v => _mouseOver.Value     = v).AddTo(this);
            Agent.Power.Subscribe(p => Power.text         = $"{p}").AddTo(this);
            Agent.Health.Subscribe(p => Health.text       = $"{p}").AddTo(this);
            Agent.Model.ManaCost.Subscribe(p => Mana.text = $"{p}").AddTo(this);

            SquareOver.Subscribe(sq =>
            {
                if (sq != null)
                {
                    BoardView.ShowSquares(Agent.Model, sq);
                }
            }).AddTo(this);
        }
Example #25
0
 /// <inheritdoc />
 public override ThemeBase Clone() => new ScrollBarTheme()
 {
     Normal    = Normal.Clone(),
     Disabled  = Disabled.Clone(),
     MouseOver = MouseOver.Clone(),
     MouseDown = MouseDown.Clone(),
     Selected  = Selected.Clone(),
     Focused   = Focused.Clone(),
     StartButtonVerticalGlyph   = StartButtonVerticalGlyph,
     EndButtonVerticalGlyph     = EndButtonVerticalGlyph,
     StartButtonHorizontalGlyph = StartButtonHorizontalGlyph,
     EndButtonHorizontalGlyph   = EndButtonHorizontalGlyph,
     BarGlyph    = BarGlyph,
     SliderGlyph = SliderGlyph
 };
 /// <summary>
 /// Returns a clone of this object.
 /// </summary>
 /// <returns>The cloned object.</returns>
 public override object Clone()
 {
     return(new RadioButtonTheme()
     {
         Normal = Normal.Clone(),
         Disabled = Disabled.Clone(),
         MouseOver = MouseOver.Clone(),
         MouseDown = MouseDown.Clone(),
         Selected = Selected.Clone(),
         Focused = Focused.Clone(),
         CheckedIcon = CheckedIcon.Clone(),
         UncheckedIcon = UncheckedIcon.Clone(),
         LeftBracket = LeftBracket.Clone(),
         RightBracket = RightBracket.Clone(),
     });
 }
Example #27
0
 /// <summary>
 /// Returns a clone of this object.
 /// </summary>
 /// <returns>The cloned object.</returns>
 public override object Clone()
 {
     return(new ListBoxTheme()
     {
         Normal = Normal.Clone(),
         Disabled = Disabled.Clone(),
         MouseOver = MouseOver.Clone(),
         MouseDown = MouseDown.Clone(),
         Selected = Selected.Clone(),
         Focused = Focused.Clone(),
         BorderTheme = BorderTheme.Clone(),
         BorderLineStyle = (int[])BorderLineStyle.Clone(),
         DrawBorder = DrawBorder,
         ItemTheme = (ListBoxItemTheme)ItemTheme.Clone(),
         ScrollBarTheme = (ScrollBarTheme)ScrollBarTheme.Clone()
     });
 }
Example #28
0
        public SessionCircle()
        {
            Ellipse = new Ellipse {
                Tag = this
            };
            selectedEllipse = new Ellipse();
            canvas          = new Canvas();
            canvas.Children.Add(Ellipse);
            canvas.Children.Add(selectedEllipse);

            UiElement = canvas;

            canvas.MouseEnter += (sender, e) => MouseOver?.Invoke(this);
            canvas.MouseLeave += (sender, e) => MouseLeave?.Invoke(this);
            canvas.MouseDown  += (sender, e) => MouseDown?.Invoke(this);
            canvas.MouseUp    += (sender, e) => MouseUp?.Invoke(this);
        }
Example #29
0
        public virtual void Update(GameTime time)
        {
            MouseState state = Mouse.GetState();

            (float x, float y) = PositionV2 - originOffset;

            if (MainTexture != null && state.X >= x && state.Y >= y &&
                state.X <= x + MainTexture.Width &&
                state.Y <= y + MainTexture.Height)
            {
                IsMouseOver = true;
                MouseOver?.Invoke(this, state);
            }
            else
            {
                IsMouseOver = false;
            }
        }
Example #30
0
        /// <summary>
        ///     Called when some number of bodies are underneath the mouse for a certain amount of time.
        /// </summary>
        /// <param name="entities">A list of bodies that were underneath the mouse.</param>
        public void OnMouseOver(IEnumerable <Body> entities)
        {
            MouseOver.Invoke(entities);
            string desc  = "";
            bool   first = true;

            foreach (Body body in entities)
            {
                if (!first)
                {
                    desc += "\n";
                }
                desc += body.GetDescription();
                first = false;
            }
            // Create a description of the body and display it on the screen.
            World.ShowInfo(desc);
        }
Example #31
0
	public void LinkTile (MouseOver m) {
		linkedTiles.Add (m);
	}