using TMPro; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using Unity.Entities; using Unity.Mathematics; using UnityEngine; namespace GarmentButton.PathFinding { public struct Point { public short X; public short Y; public short Z; } public struct PointPathBlobAsset { public BlobArray Array; } public struct PathNode { public int2 Position; public int Height; public int CurrentIndex; public int CameFromIndex; public int GCost; public int HCost; public int FCost; public void CalculateFCost() { FCost = GCost + HCost; } } public struct PathElement : IBufferElementData { public ushort IndexGrid; } public struct LastPointPath : IComponentData { public ushort Value; } public struct CheckStuck : IComponentData { public int Index; public float Time; } public struct EndPointPath : IComponentData, IEnableableComponent { public float3 Position; } public struct EndPointIndexPath : IComponentData { public ushort Value; } public struct GridData : IComponentData { public int2 GridSize; public float CellSize; public float2 Center; } public enum GroundType : byte { Air, NearGround, Ground, MoveAble, Blocked, StaticBlocked, Null, } public struct SurfaceType : IComponentData { public GroundType Value; } public struct Grid : IComponentData { public BlobAssetReference Value; } public struct GridAdditionalData : IComponentData { public NativeArray Types; } public struct UpdatePoints : IComponentData { public NativeArray Indexes; } public struct UpdateCheck : IComponentData { } public struct CastTag : IComponentData { } public struct CreatedGrid : IComponentData { }; public struct RequireUpdatePosition : IComponentData { public float2 Value; } #region Debug public struct DebugObject : IComponentData { public UnityObjectRef GameObject; } public class DebugTextMesh : IComponentData { public TextMeshPro[] Text; } public struct PointsData : IBufferElementData { public int Cost; } public struct DebugIndex : IComponentData { public int Index; } public struct DebugAll : IComponentData { } public struct DebugPath : IComponentData { } public struct DebugGrid : IComponentData { } public struct MouseSelectEndPosition : IComponentData { } #endregion }