namespace CommonLang.Vector { public interface IShape { } public struct Rectangle : IShape { public float x; public float y; public float w; public float h; public Rectangle(float x, float y, float w, float h) { this.x = x; this.y = y; this.w = w; this.h = h; } } public struct Round : IShape { public float x; public float y; public float r; public Round(float x, float y, float r) { this.x = x; this.y = y; this.r = r; } } public struct Fan : IShape { public float x; public float y; public float r; public float angle_range; public float direction; public Fan(float x, float y, float r, float angle, float d) { this.x = x; this.y = y; this.r = r; this.angle_range = angle; this.direction = d; } } }