public ToolTipChar(Board board, Rectangle rect, ToolTip boundTooltip) : base(board, rect) { PointA = new ToolTipDot(this, board, rect.Left, rect.Top, false); PointB = new ToolTipDot(this, board, rect.Right, rect.Top, false); PointC = new ToolTipDot(this, board, rect.Right, rect.Bottom, false); PointD = new ToolTipDot(this, board, rect.Left, rect.Bottom, false); board.BoardItems.ToolTipDots.Add((ToolTipDot)PointA); board.BoardItems.ToolTipDots.Add((ToolTipDot)PointB); board.BoardItems.ToolTipDots.Add((ToolTipDot)PointC); board.BoardItems.ToolTipDots.Add((ToolTipDot)PointD); LineAB = new ToolTipLine(board, PointA, PointB); LineBC = new ToolTipLine(board, PointB, PointC); LineCD = new ToolTipLine(board, PointC, PointD); LineDA = new ToolTipLine(board, PointD, PointA); LineAB.yBind = true; LineBC.xBind = true; LineCD.yBind = true; LineDA.xBind = true; BoundTooltip = boundTooltip; }
public ToolTip(Board board, Rectangle rect, string title, string desc) : base(board, rect) { PointA = new ToolTipDot(this, board, rect.Left, rect.Top, false); PointB = new ToolTipDot(this, board, rect.Right, rect.Top, false); PointC = new ToolTipDot(this, board, rect.Right, rect.Bottom, false); PointD = new ToolTipDot(this, board, rect.Left, rect.Bottom, false); board.BoardItems.ToolTipDots.Add((ToolTipDot)PointA); board.BoardItems.ToolTipDots.Add((ToolTipDot)PointB); board.BoardItems.ToolTipDots.Add((ToolTipDot)PointC); board.BoardItems.ToolTipDots.Add((ToolTipDot)PointD); LineAB = new ToolTipLine(board, PointA, PointB); LineBC = new ToolTipLine(board, PointB, PointC); LineCD = new ToolTipLine(board, PointC, PointD); LineDA = new ToolTipLine(board, PointD, PointA); LineAB.yBind = true; LineBC.xBind = true; LineCD.yBind = true; LineDA.xBind = true; this.title = title; this.desc = desc; }
public void PlaceObject() { if (state == MouseState.StaticObjectAdding || state == MouseState.RandomTiles) { Board.UndoRedoMan.AddUndoBatch(new List <UndoRedoAction>() { UndoRedoManager.ItemAdded(currAddedObj) }); //Board.BoardItems.Add(currAddedObj.CreateInstance(Board.Layers[Board.SelectedLayerIndex], Board, x, y, 50, false, false)); currAddedObj.BeforeAdding = false; ReleaseItem(currAddedObj); if (currAddedObj is LayeredItem) { int highestZ = 0; foreach (LayeredItem item in Board.BoardItems.TileObjs) { if (item.Z > highestZ) { highestZ = item.Z; } } currAddedObj.Z = highestZ; Board.BoardItems.Sort(); } if (state == MouseState.StaticObjectAdding) { currAddedObj = currAddedInfo.CreateInstance(Board.SelectedLayer, Board, X + currAddedInfo.Origin.X - currAddedInfo.Image.Width / 2, Y + currAddedInfo.Origin.Y - currAddedInfo.Image.Height / 2, 50, false, true); } else { currAddedObj = tileRandomList[NextInt32(tileRandomList.Length)].CreateInstance(Board.SelectedLayer, Board, X + currAddedInfo.Origin.X - currAddedInfo.Image.Width / 2, Y + currAddedInfo.Origin.Y - currAddedInfo.Image.Height / 2, 50, false, true); } Board.BoardItems.Add(currAddedObj, false); BindItem(currAddedObj, new Microsoft.Xna.Framework.Point(currAddedInfo.Origin.X - currAddedInfo.Image.Width / 2, currAddedInfo.Origin.Y - currAddedInfo.Image.Height / 2)); } else if (state == MouseState.Chairs) { Board.UndoRedoMan.AddUndoBatch(new List <UndoRedoAction> { UndoRedoManager.ItemAdded(currAddedObj) }); ReleaseItem(currAddedObj); currAddedObj = new Chair(Board, X, Y, true); Board.BoardItems.Add(currAddedObj, false); BindItem(currAddedObj, new Microsoft.Xna.Framework.Point()); } else if (state == MouseState.Ropes) { int count = BoundItems.Count; object[] keys = new object[count]; BoundItems.Keys.CopyTo(keys, 0); RopeAnchor anchor = (RopeAnchor)keys[0]; ReleaseItem(anchor); if (count == 1) { Board.UndoRedoMan.AddUndoBatch(new List <UndoRedoAction> { UndoRedoManager.RopeAdded(anchor.ParentRope) }); CreateRope(); } } else if (state == MouseState.Tooltip) { int count = BoundItems.Count; object[] keys = new object[count]; BoundItems.Keys.CopyTo(keys, 0); ToolTipDot dot = (ToolTipDot)keys[0]; ReleaseItem(dot); if (count == 1) { Board.UndoRedoMan.AddUndoBatch(new List <UndoRedoAction> { UndoRedoManager.ItemAdded(dot.ParentTooltip) }); CreateTooltip(); } } }