#if GRIFFIN using UnityEngine; using System.Collections; using System.Collections.Generic; using System; using Unity.Collections; namespace Pinwheel.Griffin.Rendering { internal class GGrassPatchNativeData : IDisposable { internal NativeArray<GGrassInstance> instances; internal NativeArray<Matrix4x4> trs; internal NativeArray<Vector3Int> metadata; public GGrassPatchNativeData(List<GGrassInstance> grasses) { grasses.Sort((g0, g1) => { return g0.prototypeIndex.CompareTo(g1.prototypeIndex); }); instances = new NativeArray<GGrassInstance>(grasses.ToArray(), Allocator.TempJob); trs = new NativeArray<Matrix4x4>(grasses.Count, Allocator.TempJob); metadata = new NativeArray<Vector3Int>(grasses.Count + 1, Allocator.TempJob); } public void Dispose() { GNativeArrayUtilities.Dispose(instances); GNativeArrayUtilities.Dispose(trs); GNativeArrayUtilities.Dispose(metadata); } } } #endif