protected RoadSegmentMesher(IRoadSegment segment, RoadTemplate template) { Segment = segment; Template = template; var startNoZ = Segment.StartPosition.WithZ(0); var endNoZ = Segment.EndPosition.WithZ(0); DirectionNoZ = Vector3.Normalize(endNoZ - startNoZ); DirectionNormalNoZ = Vector3.Cross(DirectionNoZ, Vector3.UnitZ); TextureBounds = TextureAtlas.ForRoadWidth(Template.RoadWidthInTexture)[Segment.Type]; }
protected TerrainAwareRoadSegmentMesher(IRoadSegment segment, RoadTemplate template) : base(segment, template) { }
public EndCapRoadSegmentMesher(IRoadSegment segment, RoadTemplate template, float joinAngle) : base(segment, template) { _joinAngle = joinAngle; }
public CrossingRoadSegmentMesher(IRoadSegment segment, float halfHeight, RoadTemplate template) : base(segment, template) { HalfHeight = halfHeight; }
public CurvedRoadSegmentMesher(IRoadSegment segment, RoadTemplate template) : base(segment, template) { }
public SimpleRoadSegmentMesher(IRoadSegment segment, RoadTemplate template) : base(segment, template) { }
public StraightRoadSegmentMesher(IRoadSegment segment, float halfHeight, RoadTemplate template) : base(segment, halfHeight, template) { }