Newer
Older
using System.Linq;
using UnityEngine;
public class PrismGenerator : PlaneGenerator
{
#region InspectorVariables
[Header("Plane values")]
[SerializeField]
private Vector3 _offset;
public Vector3 Offset
{
get => _offset;
set
{
_offset = value;
GenerateShapeForAll();
}
}
#endregion InspectorVariables
#region Implementation
protected override (Vector3[] vertices, int[] triangles) GenerateTopology()
{
(Vector3[] vertices, int[] triangles) plane = CreatePlane(_vertices);
Vector3 center = CreateMesh(plane).bounds.center;
return CreatePrism(
(plane.vertices.Select(v => v + _offset).ToArray()
, plane.triangles),
(plane.vertices.Select(v => v).ToArray()
, plane.triangles.Reverse().ToArray()),
null, null
);
}
#endregion Implementation
}