public Seg(World world,Vertex start,Vertex end,Linedef linedef,bool isbackside,Angle angle,Fixed offset) { if (world == null) throw new ArgumentNullException("world"); if (start == null) throw new ArgumentNullException("start"); if (end == null) throw new ArgumentNullException("end"); if (linedef == null) throw new ArgumentNullException("linedef"); if (start.World != world) throw new ArgumentException("Start vertex is from another world."); if (end.World != world) throw new ArgumentException("End vertex is from another world."); if (linedef.World != world) throw new ArgumentException("Linedef is from another world."); this.world = world; // TODO :: start // TODO :: end // TODO :: linedef if (!isbackside) { this.front = linedef.Front; this.back = linedef.Back; } else { this.front = linedef.Back; this.back = linedef.Front; } // TODO :: angle // TODO :: offset }
public Linedef(World world,Vertex start,Vertex end,Sidedef front,Sidedef back) { if (world == null) throw new ArgumentNullException("world"); if (start == null) throw new ArgumentNullException("start"); if (end == null) throw new ArgumentNullException("end"); // Sidedefs may be null, so don't check them if (start.World != world) throw new ArgumentException("Start vertex is from another world."); if (end.World != world) throw new ArgumentException("End vertex is from another world."); if (front != null && front.World != world) throw new ArgumentException("Front sidedef is from another world."); if (back != null && back.World != world) throw new ArgumentException("Back sidedef is from another world."); this.world = world; // TODO :: start // TODO :: end // TODO :: front // TODO :: back // TODO :: special // TODO :: tag }