public override void Draw()
    {
        base.Draw();

        // sprawls
        TXT("data sprawls :)", 0.1f, 0.9f, P.Get(4));
        float _DIVX = 0.8f / totalSprawls;

        for (int i = 0; i < totalSprawls; i++)
        {
            DataSprawl _sp = sprawls[i];
            _sp.Update();
            _sp.Draw(0.1f + (_DIVX * i), 0.7f, _DIVX, 0.1f, P.Get(i % P.totalColours));
        }


        // partitions
        TXT("partitions D:", 0.1f, 0.6f, P.Get(4));
        float _DIV_P     = 0.2f / partitionListCount;
        float _DIV_RAD   = 0.2f / partitionListCount;
        float _DIV_ANGLE = 0.5f / partitionListCount;

        for (int i = 0; i < partitionListCount; i++)
        {
            Partitions _P = partitionList[i];
            _P.AddRandom(0.001f, 1f, 1.2f, i, 1.5f * i, 0.01f * i, 0.05f * i);
            _P.ColourByShare(Color.red, Color.white);
            HUD.Draw_BAR_PARTITIONS_FILL_X(0.5f, 0.4f - (i * _DIV_P), 0.4f, _DIV_P, partitionList[i]);
            GL.PushMatrix();
            GL_DRAW.Rotate(Anim.Runtime(i * 0.005f));
            HUD.Draw_ARC_PARTITIONS_FILL(partitionList[i], 20, 0.2f, 0.3f, 0.01f + (i * _DIV_RAD), _DIV_RAD, 0f, Anim.Sin_Time(1, 0.25f, _DIV_ANGLE * i, i));
            GL.PopMatrix();
        }
    }