Exemple #1
0
 /// <summary>
 /// Initialize
 /// </summary>
 private void Start()
 {
     m_winTile = FindObjectOfType <WinTile>();
     if (m_winTile == null)
     {
         Debug.LogError($"{name} could not find a reference to the Win Tile");
     }
 }
Exemple #2
0
        public override void Update(GameTime time)
        {
            if (InputHelper.Instance.IsLeftMousePressed())
            {
                if (!dragging)
                {
                    dragging           = true;
                    winTileSize.X      = (int)InputHelper.Instance.MousePos().X;
                    winTileSize.Y      = (int)InputHelper.Instance.MousePos().Y;
                    winTileSize.Width  = (int)Math.Abs(InputHelper.Instance.MousePos().X - winTileSize.X);
                    winTileSize.Height = (int)Math.Abs(InputHelper.Instance.MousePos().Y - winTileSize.Y);
                }
            }
            else if (InputHelper.Instance.LeftMouseDown())
            {
                winTileSize.Width  = (int)Math.Abs(InputHelper.Instance.MousePos().X - winTileSize.X);
                winTileSize.Height = (int)Math.Abs(InputHelper.Instance.MousePos().Y - winTileSize.Y);
            }
            else if (InputHelper.Instance.IsLeftMouseReleased() && dragging)
            {
                WinTile win = new WinTile(winTileSize);
                tiles.Add(win);
                dragging = false;
            }
            else if (InputHelper.Instance.IsRightMousePressed() && !dragging)
            {
                for (int i = 0; i < tiles.Count; i++)
                {
                    WinTile o = tiles[i];

                    if (o.Boundingbox.Contains(InputHelper.Instance.MousePos().toPoint()))
                    {
                        tiles.Remove(o);
                    }
                }
            }

            // check for left mouse up
            if (!InputHelper.Instance.LeftMouseDown())
            {
                dragging = false;
            }


            if (dragging)
            {
                blockLayerChange = true;
                winTileSize      = GetInvertedRectangle(winTileSize);
            }
            else
            {
                blockLayerChange = false;
            }
            base.Update(time);
        }