コード例 #1
0
 public Drawing(SwinGameSDK.Color background)
 {
     //Implementation
     _shapes     = new List <Shape> ();
     _background = background;
     SwinGame.GUISetBackgroundColor(_background);
 }
コード例 #2
0
        public Shape()
        {
            _color = Color.Green;
            _x     = SwinGame.MouseX();
            _y     = SwinGame.MouseY();

            _selected = false;
        }
コード例 #3
0
        /// <summary>
        /// Draws the player.
        /// </summary>
        public override void Draw()
        {
            base.Draw();

            if (Settings.SHOWHITBOX)
            {
                Colour clr = Colour.Orange;
                DrawGrazebox(clr);
            }

            if (_cannonAux > 0)
            {
                SwinGame.DrawBitmap(GameResources.GameImage("YingYang" + (Tick % 64) / 8), (float)(Hitbox.Middle.X + 30) - (GameResources.GameImage("YingYang" + (Tick % 64) / 8).Width / 2), (float)(Hitbox.Middle.Y) - (GameResources.GameImage("YingYang" + (Tick % 64) / 8).Height / 2));
                SwinGame.DrawBitmap(GameResources.GameImage("YingYang" + (Tick % 64) / 8), (float)(Hitbox.Middle.X - 30) - (GameResources.GameImage("YingYang" + (Tick % 64) / 8).Width / 2), (float)(Hitbox.Middle.Y) - (GameResources.GameImage("YingYang" + (Tick % 64) / 8).Height / 2));
            }
        }
コード例 #4
0
 /// <summary>
 /// Draws player graze box.
 /// </summary>
 /// <param name="clr">Colour to draw graze box.</param>
 public void DrawGrazebox(Colour clr)
 {
     _grazebox.DrawEdge(clr);
 }
コード例 #5
0
 private void DrawText(Colour clr)
 {
     SwinGame.DrawText(_buttonText, clr, (float)_buttonLocation.X, (float)_buttonLocation.Y);
 }
コード例 #6
0
 public Shape(SwinGameSDK.Color clr)
 {
     _color = clr;
     _x     = SwinGame.MouseX();
     _y     = SwinGame.MouseY();
 }
コード例 #7
0
 /// <summary>
 /// Draws hitbox with the provided colour.
 /// </summary>
 /// <param name="clr">Colour to draw hitbox</param>
 public virtual void DrawHitbox(Colour clr)
 {
     Hitbox.DrawEdge(clr);
 }
コード例 #8
0
 /// <summary>
 /// Draws hitbox with the provided colour.
 /// </summary>
 /// <param name="clr">Colour to draw hitbox</param>
 public virtual void DrawHitbox(Colour clr)
 {
     Hitbox.DrawEdge(clr);
 }
コード例 #9
0
 /// <summary>
 /// Draws player graze box.
 /// </summary>
 /// <param name="clr">Colour to draw graze box.</param>
 public void DrawGrazebox(Colour clr)
 {
     _grazebox.DrawEdge(clr);
 }
コード例 #10
0
 private void DrawText(Colour clr)
 {
     SwinGame.DrawText(_buttonText, clr, (float)_buttonLocation.X, (float)_buttonLocation.Y);
 }
コード例 #11
0
        /// <summary>
        /// Draws the player's grid and ships.
        /// </summary>
        /// <param name="grid">the grid to show</param>
        /// <param name="thePlayer">the player to show the ships of</param>
        /// <param name="small">true if the small grid is shown</param>
        /// <param name="showShips">true if ships are to be shown</param>
        /// <param name="left">the left side of the grid</param>
        /// <param name="top">the top of the grid</param>
        /// <param name="width">the width of the grid</param>
        /// <param name="height">the height of the grid</param>
        /// <param name="cellWidth">the width of each cell</param>
        /// <param name="cellHeight">the height of each cell</param>
        /// <param name="cellGap">the gap between the cells</param>
        private static void DrawCustomField(ISeaGrid grid, Player thePlayer, bool small, bool showShips, int left, int top, int width, int height, int cellWidth, int cellHeight,
                                            int cellGap)
        {
            //SwinGame.FillRectangle(Color.Blue, left, top, width, height)

            int rowTop  = 0;
            int colLeft = 0;

            //Draw the grid
            for (int row = 0; row <= 9; row++)
            {
                rowTop = top + (cellGap + cellHeight) * row;
                for (int col = 0; col <= 9; col++)
                {
                    colLeft = left + (cellGap + cellWidth) * col;

                    Color fillColor = default(Color);
                    bool  draw      = false;

                    draw = true;

                    switch (grid[row, col])
                    {
                    case TileView.Ship:
                        draw = false;
                        break;

                    //If small Then fillColor = _SMALL_SHIP Else fillColor = _LARGE_SHIP
                    case TileView.Miss:
                        if (small)
                        {
                            fillColor = SMALL_MISS;
                        }
                        else
                        {
                            fillColor = LARGE_MISS;
                        }
                        break;

                    case TileView.Hit:
                        if (small)
                        {
                            fillColor = SMALL_HIT;
                        }
                        else
                        {
                            fillColor = LARGE_HIT;
                        }
                        break;

                    case TileView.Sea:
                        if (small)
                        {
                            fillColor = SMALL_SEA;
                        }
                        else
                        {
                            draw = false;
                        }
                        break;
                    }

                    if (draw)
                    {
                        SwinGame.FillRectangle(fillColor, colLeft, rowTop, cellWidth, cellHeight);
                        if (!small)
                        {
                            SwinGame.DrawRectangle(OUTLINE_COLOR, colLeft, rowTop, cellWidth, cellHeight);
                        }
                    }
                }
            }

            if (!showShips)
            {
                return;
            }

            int    shipHeight = 0;
            int    shipWidth  = 0;
            string shipName   = null;

            //Draw the ships
            foreach (Ship s in thePlayer)
            {
                if (s == null || !s.IsDeployed)
                {
                    continue;
                }
                rowTop  = top + (cellGap + cellHeight) * s.Row + SHIP_GAP;
                colLeft = left + (cellGap + cellWidth) * s.Column + SHIP_GAP;

                if (s.Direction == Direction.LeftRight)
                {
                    shipName   = "ShipLR" + s.Size;
                    shipHeight = cellHeight - (SHIP_GAP * 2);
                    shipWidth  = (cellWidth + cellGap) * s.Size - (SHIP_GAP * 2) - cellGap;
                }
                else
                {
                    //Up down
                    shipName   = "ShipUD" + s.Size;
                    shipHeight = (cellHeight + cellGap) * s.Size - (SHIP_GAP * 2) - cellGap;
                    shipWidth  = cellWidth - (SHIP_GAP * 2);
                }

                if (!small)
                {
                    SwinGame.DrawBitmap(GameResources.GameImage(shipName), colLeft, rowTop);
                }
                else
                {
                    SwinGame.FillRectangle(SHIP_FILL_COLOR, colLeft, rowTop, shipWidth, shipHeight);
                    SwinGame.DrawRectangle(SHIP_OUTLINE_COLOR, colLeft, rowTop, shipWidth, shipHeight);
                }
            }
        }