void Awake()
 {
     if (m_Polygon == null)
     {
         m_Polygon = new Shape_Polygon();
     }
 }
    void DrawPoly(Shape_Polygon polygon, float radiusInner)
    {
        //GL.Begin(GL.QUADS); // Triangle

        if (radiusInner == 0)
        {
            GL.Begin(GL.TRIANGLES);             // Triangle
            for (var i = 0; i < polygon.m_NumberOfSides; i++)
            {
                int index2 = i + 1;
                if (i == polygon.m_NumberOfSides - 1)
                {
                    index2 = 0;
                }

                GL.Vertex3(transform.position.x, transform.position.y, transform.position.z);                       // Center Vert
                //GL.TexCoord2 (pos.x, 1-pos.y);        // Center UV

                GL.Vertex3(m_VertexPositions[i].x, m_VertexPositions[i].y, m_VertexPositions[i].z);                             // Center Vert
                //GL.TexCoord2 (pos.x, 1-pos.y);        // Center UV

                GL.Vertex3(m_VertexPositions[index2].x, m_VertexPositions[index2].y, m_VertexPositions[index2].z);                             // Center Vert
                //GL.TexCoord2 (pos.x, 1-pos.y);        // Center UV
            }
            GL.End();
        }
        else
        {
            GL.Begin(GL.QUADS);             // Triangle
            for (var i = 0; i < polygon.m_NumberOfSides; i++)
            {
                int index2 = i + 1;
                if (i == polygon.m_NumberOfSides - 1)
                {
                    index2 = 0;
                }

                GL.Vertex3(m_VertexPositions[i].x, m_VertexPositions[i].y, m_VertexPositions[i].z);                             // Center Vert
                //GL.TexCoord2 (pos.x, 1-pos.y);        // Center UV

                GL.Vertex3(m_VertexPositions[index2].x, m_VertexPositions[index2].y, m_VertexPositions[index2].z);                             // Center Vert
                //GL.TexCoord2 (pos.x, 1-pos.y);        // Center UV

                GL.Vertex3(m_VertexPositions[index2 + m_Polygon.m_NumberOfSides].x, m_VertexPositions[index2 + m_Polygon.m_NumberOfSides].y, m_VertexPositions[index2 + m_Polygon.m_NumberOfSides].z);                             // Center Vert
                //GL.TexCoord2 (pos.x, 1-pos.y);        // Center UV

                GL.Vertex3(m_VertexPositions[i + m_Polygon.m_NumberOfSides].x, m_VertexPositions[i + m_Polygon.m_NumberOfSides].y, m_VertexPositions[i + m_Polygon.m_NumberOfSides].z);                             // Center Vert
                //	GL.TexCoord2 (pos.x, 1-pos.y);      // Center UV
            }
            GL.End();
        }
    }