/// <summary> /// Bulk Insert /// </summary> public TreeOperation(float4x4 ltw, float2 *verts, int *amounts, int length) { Type = TreeOperationType.BulkInsert; Obstacle = default; Ltw = ltw; Vertices = verts; Amount = length; Amounts = amounts; }
/// <summary> /// Destroy /// </summary> public TreeOperation(Entity obstacle) { Type = TreeOperationType.Destroy; Obstacle = obstacle; Ltw = default; Vertices = default; Amount = default; Amounts = default; }
/// <summary> /// Insert /// </summary> public TreeOperation(Entity obstacle, float4x4 ltw, float2 *vertices, int amount) { Type = TreeOperationType.Insert; Obstacle = obstacle; Ltw = ltw; Vertices = vertices; Amount = amount; Amounts = default; }
/// <summary> /// Move /// </summary> public TreeOperation(int id, float2 pos, float2 displacement, float radius) { Type = TreeOperationType.Move; Id = id; Pos = pos; Displacement = displacement; Radius = radius; Agent = default; TreeEntity = default; }
/// <summary> /// Destroy /// </summary> public TreeOperation(int id) { Type = TreeOperationType.Destroy; Id = id; Radius = default; Agent = default; Pos = default; Displacement = default; TreeEntity = default; }
/// <summary> /// Insert /// </summary> public TreeOperation(Entity agent, float2 pos, float radius, Entity treeEntity, bool reinsert = false) { Type = reinsert ? TreeOperationType.Reinsert : TreeOperationType.Insert; Agent = agent; Pos = pos; Radius = radius; TreeEntity = treeEntity; Id = default; Displacement = default; }