public override bool OnMouseUp(Pointer e) { if (!Visible) return false; Dragging = false; for (var ij = ScrollOffset; ij < Controls.Count; ij++) { var control = Controls[ij]; if (control.Y <= e.Y && control.Y + control.Height > e.Y && control.X <= e.X + 2 && control.X + control.Width + 2 > e.X) { e.X -= control.X; e.Y -= control.Y; control.OnMouseUp(e); return true; } } if (MouseUp != null) MouseUp(new Point(e.X, e.Y)); return base.OnMouseUp(e); }
public bool OnMouseMove(Pointer cell) { var cl = ( UIAreas ).OrderBy((f) => { return -f.Depth; }).ToArray(); foreach (var are in cl) { if (are.Dragging.Truthy() || are.IsEditMode() || ( are.Visible && are.Y <= cell.Y && are.Y + are.Height > cell.Y && are.X <= cell.X && are.X + are.Width > cell.X )) { var cell2 = new Pointer(cell.X - are.X, cell.Y - are.Y, 0, cell.Right); return are.OnMouseOver(cell2); } } return false; }
public void OnMouseUp(Pointer cell) { foreach (var are in UIAreas) { var ec = new Pointer(cell.X - are.X, cell.Y - are.Y, 0, cell.Right); are.OnMouseUp(ec); } }
public override bool OnScroll(Pointer e) { return base.OnScroll(e); }
public override bool OnClick(Pointer e) { return base.OnClick(e); }
public bool MouseUp(Pointer e) { foreach (var j in points) { j.Editing = false; } Editing = false; Dragging = false; StartDragging = null; dragg = null; return false; }
public void OffsetPointer(Pointer pointer) { pointer.X -= screenOffset.X; pointer.Y -= screenOffset.Y; }
private Pointer getTilePointer(Pointer gamePointer) { var tilePointer = gamePointer.ClonePointer(); tilePointer.X /= gameManager.Scale.X; tilePointer.Y /= ZombieGameConfig.TileSize; //the scale "offset" return tilePointer; }
public Pointer(int x, int y, Pointer pointer) : base(x, y) { WheelDelta = pointer.WheelDelta; Right = pointer.Right; }
public override bool OnClick(Pointer screenPointer) { clicking = true; var gamePointer = getGamePointer(screenPointer); var tilePointer = getTilePointer(gamePointer); switch (gameManager.ClickMode) { case ClickMode.MoveCharacter: if (gameManager.WindowManager.Collides(gamePointer)) gameManager.UnitManager.MainCharacter.MoveTowards(gamePointer.X, gamePointer.Y); break; } return false; }
private Pointer getGamePointer(Pointer screenPointer) { var gamePointer = screenPointer.ClonePointer(); gameManager.OffsetPointer(gamePointer); gamePointer.X /= gameManager.Scale.X; gamePointer.Y /= gameManager.Scale.Y; //the scale "offset" gameManager.WindowManager.OffsetPointer(gamePointer); //the window offset return gamePointer; }
public override bool MouseUp(Pointer pointer) { clicking = false; return base.MouseUp(pointer); }
public override bool MouseMove(Pointer screenPointer) { if (!clicking) return false; var gamePointer = getGamePointer(screenPointer); var tilePointer = getTilePointer(gamePointer); switch (gameManager.ClickMode) { case ClickMode.MoveCharacter: if (gameManager.WindowManager.Collides(gamePointer)) { gameManager.UnitManager.MainCharacter.MoveTowards(gamePointer.X, gamePointer.Y); this.gameManager.ActionManager.ScheduleAction(new MovePlayerZombieLampAction() { X = gamePointer.X, Y = gamePointer.Y, User = gameManager.UnitManager.MainCharacter.LampPlayer }); } break; case ClickMode.DragMap: gameManager.WindowManager.CenterAround(screenPointer.X, screenPointer.Y); break; } return false; }
public override bool OnScroll(Pointer e) { if (!Visible) return false; if (e.WheelDelta > 0) { if (ScrollOffset > 0) ScrollOffset--; } else { if (ScrollOffset < Controls.Count - VisibleItems) ScrollOffset++; } foreach (var control in Controls) { if (control.Y <= e.Y && control.Y + control.Height > e.Y && control.X <= e.X && control.X + control.Width > e.X) { e.X -= control.X; e.Y -= control.Y; return true; } } //if (this.scroll) this.scroll(); return true; }
public bool Click(Pointer e) { var x = 0; var y = 0; var w = Element.Width; var h = Element.Height; //uiManager.propertyList.populate(this.Element); foreach (var j in points) { j.Editing = false; } foreach (var j in points) { var sz = j.Size * 5; var rect = new Rectangle(x + ( w * j.X / 100 ) - sz / 2, y + ( h * j.Y / 100 ) - sz / 2, sz, sz); if (e.X > rect.X && e.X < rect.X + rect.Width && e.Y > rect.Y && e.Y < rect.Y + rect.Height) { Document.Body.Style.Cursor = j.Cursor; StartDragging = new Point(e.X, e.Y); Editing = true; j.Editing = true; return true; } } if (e.X > x && e.X < x + w && e.Y > y && e.Y < y + h) { dragg = new Point(e.X, e.Y); Document.Body.Style.Cursor = "move"; Dragging = true; return false; } else Document.Body.Style.Cursor = "default"; return false; }
public virtual void Focus(Pointer e) { Focused = true; }
public bool MouseOver(Pointer e) { var x = 0; var y = 0; var w = Element.Width; var h = Element.Height; Document.Body.Style.Cursor = "move"; if (Dragging) { /* if (this.Element.ChildrenAreEditing()) { return false; } */ var jx = e.X - dragg.X; var jy = e.Y - dragg.Y; Element.X += jx; Element.Y += jy; /* window.DEBUGLABELS[0] = "E: " + e.X + " " + e.Y; window.DEBUGLABELS[1] = "Dragg: " + this.dragg.X + " " + this.dragg.Y; window.DEBUGLABELS[2] = "Element: " + this.Element.X + " " + this.Element.Y; window.DEBUGLABELS[3] = "Offset: " + jx + " " + jy;*/ //this.dragg.x += jx; //this.dragg.y += jy; return false; } foreach (var j in points) { var sz = j.Size * 5; if (j.Editing) { Document.Body.Style.Cursor = j.Cursor; var dv = new Point(StartDragging.X - e.X, StartDragging.Y - e.Y); j.Click(dv); StartDragging = new Point(e.X + dv.X, e.Y + dv.Y); return true; } var rect = new Rectangle(x + ( w * j.X / 100 ) - sz / 2, y + ( h * j.Y / 100 ) - sz / 2, sz, sz); if (e.X > rect.X && e.X < rect.X + rect.Width && e.Y > rect.Y && e.Y < rect.Y + rect.Height) { Document.Body.Style.Cursor = j.Cursor; if (j.Editing) { var dv = new Point(StartDragging.X - e.X, StartDragging.Y - e.Y); j.Click(dv); StartDragging = new Point(e.X + dv.X, e.Y + dv.Y); } return true; } } StartDragging = new Point(e.X, e.Y); return Editing; }
public virtual bool OnClick(Pointer e) { if (IsEditMode()) { if (EditorEngine.Click(e)) return true; } return false; }
private void canvasMouseMove(jQueryEvent queryEvent) { queryEvent.PreventDefault(); Document.Body.Style.Cursor = "default"; lastMouseMove = CHelp.GetCursorPosition(queryEvent); if (UIManager.OnMouseMove(lastMouseMove)) return; if (gameManager.MouseMove(lastMouseMove)) return; return; }
public virtual bool OnMouseUp(Pointer e) { if (IsEditMode()) { if (EditorEngine.MouseUp(e)) return true; } return false; }
public override bool OnMouseUp(Pointer e) { return base.OnMouseUp(e); }
public virtual bool OnScroll(Pointer e) { return false; }
public override void Focus(Pointer e) { base.Focus(e); }
public override bool MouseMove(Pointer jQueryEvent) { if (!clicking) return false; return false; }
public bool OnClick(Pointer cell) { UIArea goodArea = null; var cl = ( UIAreas ).OrderBy((f) => -f.Depth).ToArray(); foreach (var are in cl) { if (are.Visible && ( are.IsEditMode() ? are.Y - are.EditorEngine.MaxSize() <= cell.Y && are.Y + are.EditorEngine.MaxSize() + are.Height > cell.Y && are.X - are.EditorEngine.MaxSize() <= cell.X && are.X + are.EditorEngine.MaxSize() + are.Width > cell.X : are.Y <= cell.Y && are.Y + are.Height > cell.Y && are.X <= cell.X && are.X + are.Width > cell.X )) { goodArea = are; var ec = new Pointer(cell.X - are.X, cell.Y - are.Y, 0, cell.Right); are.OnClick(ec); break; } } if (goodArea.Truthy()) { foreach (var are in UIAreas) { if (goodArea == are) { are.Depth = 1; are.Focus(cell); } else { if (are.Visible) { are.Depth = 0; are.LoseFocus(); } } } return true; } else { foreach (var are in UIAreas) { if (are.Visible) { are.Depth = 0; are.LoseFocus(); } } } return false; }
public override bool MouseUp(Pointer jQueryEvent) { clicking = false; return false; }
public bool OnMouseScroll(jQueryEvent e) { int delta = e.Me().wheelDelta ? e.Me().wheelDelta / 40 : e.Me().detail ? -e.Me().detail : 0; var cell = CHelp.GetCursorPosition(e); foreach (var are in UIAreas) { if (are.Visible && are.Y <= cell.Y && are.Y + are.Height > cell.Y && are.X <= cell.X && are.X + are.Width > cell.X) { var cell2 = new Pointer(cell.X - are.X, cell.Y - are.Y, delta, cell.Right); return are.OnScroll(cell2); } } return false; }
public override bool OnClick(Pointer jQueryEvent) { clicking = true; var x = jQueryEvent.X; var y = jQueryEvent.Y; DebugText[0] = x + " " + y; //idk do something with xy return false; }
public void OffsetPointer(Pointer pointer) { pointer.X += X; pointer.Y += Y; }
public override bool OnMouseOver(Pointer e) { if (!Visible) return false; foreach (var control in Controls) { if (control.Y <= e.Y && control.Y + control.Height > e.Y && control.X + 2 <= e.X && control.X + control.Width + 2 > e.X) { e.X -= control.X; e.Y -= control.Y; control.OnMouseOver(e); break; } } if (Dragging && e.Y > ItemHeight && e.Y < ItemHeight + ScrollWidth) { var width = VisibleItems * ( ItemWidth + JWidth ) - 2; ScrollOffset = (int) ( ( (double) e.X / width ) * ( Controls.Count - VisibleItems ) ); ScrollOffset = Math.Min(Math.Max(ScrollOffset, 0), Controls.Count); } if (MouseOver != null) MouseOver(new Point(e.X, e.Y)); return base.OnMouseOver(e); }