Revamped collision system

This commit is contained in:
Jan Racek
2026-03-27 16:39:42 +01:00
parent d29ef569b3
commit 1c48b8b425
16 changed files with 318 additions and 136 deletions

View File

@@ -8,9 +8,8 @@ namespace SplashEdit.RuntimeCode
public enum PSXCollisionType
{
None = 0,
Solid = 1,
Trigger = 2,
Platform = 3
Static = 1,
Dynamic = 2
}
[RequireComponent(typeof(Renderer))]
@@ -29,22 +28,11 @@ namespace SplashEdit.RuntimeCode
[SerializeField] private PSXBPP bitDepth = PSXBPP.TEX_8BIT;
[SerializeField] private LuaFile luaFile;
[FormerlySerializedAs("collisionType")]
[SerializeField] private PSXCollisionType collisionType = PSXCollisionType.None;
[SerializeField] private bool staticCollider = true;
[SerializeField] private bool exportCollisionMesh = false;
[SerializeField] private Mesh customCollisionMesh;
[Range(1, 8)]
[SerializeField] private int collisionLayer = 1;
[SerializeField] private bool generateNavigation = false;
public PSXBPP BitDepth => bitDepth;
public PSXCollisionType CollisionType => collisionType;
public bool StaticCollider => staticCollider;
public bool ExportCollisionMesh => exportCollisionMesh;
public Mesh CustomCollisionMesh => customCollisionMesh;
public int CollisionLayer => collisionLayer;
public bool GenerateNavigation => generateNavigation;
private readonly Dictionary<(int, PSXBPP), PSXTexture2D> cache = new();