public static unsafe uint GetLayoutVertexSize(MeshLayoutType type) { switch (type) { case MeshLayoutType.LayoutMinimal: return((uint)sizeof(FlverLayoutMinimal)); case MeshLayoutType.LayoutSky: return((uint)sizeof(FlverLayoutSky)); case MeshLayoutType.LayoutStandard: return((uint)sizeof(FlverLayout)); case MeshLayoutType.LayoutUV2: return((uint)sizeof(FlverLayoutUV2)); case MeshLayoutType.LayoutUV3: return((uint)sizeof(FlverLayoutUV2)); case MeshLayoutType.LayoutUV4: return((uint)sizeof(FlverLayoutUV2)); case MeshLayoutType.LayoutCollision: return((uint)sizeof(CollisionLayout)); case MeshLayoutType.LayoutNavmesh: return((uint)sizeof(NavmeshLayout)); case MeshLayoutType.LayoutPositionColorNormal: return((uint)sizeof(VertexPositionColorNormal)); default: throw new ArgumentException("Invalid layout type"); } }
public static VertexLayoutDescription GetLayoutDescription(MeshLayoutType type) { switch (type) { case MeshLayoutType.LayoutMinimal: return(FlverLayoutMinimal.Layout); case MeshLayoutType.LayoutSky: return(FlverLayoutSky.Layout); case MeshLayoutType.LayoutStandard: return(FlverLayout.Layout); case MeshLayoutType.LayoutUV2: return(FlverLayoutUV2.Layout); case MeshLayoutType.LayoutUV3: return(FlverLayoutUV2.Layout); case MeshLayoutType.LayoutUV4: return(FlverLayoutUV2.Layout); case MeshLayoutType.LayoutCollision: return(CollisionLayout.Layout); case MeshLayoutType.LayoutNavmesh: return(NavmeshLayout.Layout); case MeshLayoutType.LayoutPositionColorNormal: return(VertexPositionColorNormal.Layout); default: throw new ArgumentException("Invalid layout type"); } }