I think there may be a better way to use immediate mode?
I create a new `public class VectorGrapic : ImmediateModeShapeDrawer` for each "shape" I make, and set it with a function so I can hook in my MVC, this way I can control the properies and have multiple types use the same data.
Here's one example of a shape.
```
public override void DrawShapes(Camera camera)
{
switch (vectorShape) {
case Shape.RectangleBorder:
DrawRectangleBorder();
break;
...
}
private void DrawRectangleBorder(Camera camera)
{
using (Draw.Command(camera)) {
Vector2 size = new Vector2(1f, 1f);
Draw.RectangleBorder(Position, size, 0.1f, Color.white);
Collider2D = new CircleCollider2D();
}
}
```
From there I have a view that takes a list of the `VectorGrapic` I've created and:
```
public override void DrawShapes(Camera cam) {
using (Draw.Command(cam)) {
for (int i = 0; i < polygons.Count; i++) {
polygons[i].DrawShapes(cam);
...
```
I feel like I'm not doing drawing the shapes the best way I could be.