public static void Draw(GraphicsDevice graphicsDevice, Matrix viewProjection)
        {
            if (!GameSettings.h_DrawLines)
            {
                return;
            }

            //Shaders.LineEffectParameter_WorldViewProj.SetValue(viewProjection);


            //    _vbuffer = new VertexBuffer(graphicsDevice, typeof(VertexPositionColor), Lines.Count*2, BufferUsage.WriteOnly);
            //    _ibuffer = new IndexBuffer(graphicsDevice, IndexElementSize.SixteenBits, Lines.Count*2, BufferUsage.WriteOnly);
            for (int i = 0; i < Lines.Count; i++)
            {
                LineHelper line = Lines[i];
                if (line != null)
                {
                    Shaders.LineEffect.CurrentTechnique.Passes[0].Apply();

                    //Gather
                    graphicsDevice.DrawUserIndexedPrimitives(PrimitiveType.LineList, line.Verts, 0, 2, line.Indices,
                                                             0,
                                                             1);

                    line.Timer--;
                    if (line.Timer <= 0)
                    {
                        Lines.RemoveAt(i);
                        i--;
                    }
                }
                else
                {
                    Lines.RemoveAt(i);
                }
            }
            AdjustTempVertsPoolSize();
        }
        public static void AddLineStartDir(Vector3 start, Vector3 dir, short timer, Color startColor, Color endColor)
        {
            LineHelper lineHelper = new LineHelper(start, start + dir, timer, startColor, endColor);

            Lines.Add(lineHelper);
        }
        public static void AddLineStartEnd(Vector3 start, Vector3 end, short timer)
        {
            LineHelper lineHelper = new LineHelper(start, end, timer);

            Lines.Add(lineHelper);
        }