예제 #1
0
 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;
 }
예제 #2
0
 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;
 }
예제 #3
0
 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;
 }
예제 #4
0
 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;
 }
예제 #5
0
 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();
         }
     }
 }