diff --git a/.gitignore b/.gitignore index 5d998cfd..06ae45fd 100644 --- a/.gitignore +++ b/.gitignore @@ -364,3 +364,7 @@ MigrationBackup/ *.filters Assets/Editor/Layouts/UserLayout.ini + +JSON/Schemas/Catalog/ + +Assets/Editor/Editor.SHConfig diff --git a/Assets/Scenes/MainGame.shade b/Assets/Scenes/MainGame.shade index 29cfdda0..49602e78 100644 --- a/Assets/Scenes/MainGame.shade +++ b/Assets/Scenes/MainGame.shade @@ -474,6 +474,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 10, y: 0.0500000007, z: 18} Friction: 0.400000006 @@ -511,6 +512,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.200000003, z: 0.25} Friction: 0.400000006 @@ -519,6 +521,7 @@ Position Offset: {x: 0, y: 2.0999999, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.899999976, z: 0.25} Friction: 0.400000006 @@ -527,6 +530,7 @@ Position Offset: {x: 0, y: 0.449999988, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -535,6 +539,7 @@ Position Offset: {x: -0.449999988, y: 1.10000002, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -561,6 +566,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.10000002, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -569,6 +575,7 @@ Position Offset: {x: 0.449999988, y: 1.10000002, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.25, y: 2.20000005, z: 1.10000002} Friction: 0.400000006 @@ -595,6 +602,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -621,6 +629,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -647,6 +656,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -673,6 +683,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -699,6 +710,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -725,6 +737,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.10000002, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -733,6 +746,7 @@ Position Offset: {x: 0.449999988, y: 1.10000002, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.25, y: 2.20000005, z: 1.10000002} Friction: 0.400000006 @@ -759,6 +773,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -785,6 +800,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -811,6 +827,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -837,6 +854,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.150000006, z: 0.25} Friction: 0.400000006 @@ -845,6 +863,7 @@ Position Offset: {x: 0, y: 2.125, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -853,6 +872,7 @@ Position Offset: {x: -0.455000013, y: 1.10000002, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -897,6 +917,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.800000012, y: 2, z: 0.0350000001} Friction: 0.400000006 @@ -923,6 +944,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -949,6 +971,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.10000002, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -957,6 +980,7 @@ Position Offset: {x: 0.449999988, y: 1.10000002, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.25, y: 2.20000005, z: 1.10000002} Friction: 0.400000006 @@ -983,6 +1007,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1009,6 +1034,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1035,6 +1061,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1061,6 +1088,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1087,6 +1115,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1113,6 +1142,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.150000006, z: 0.25} Friction: 0.400000006 @@ -1121,6 +1151,7 @@ Position Offset: {x: 0, y: 2.125, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1129,6 +1160,7 @@ Position Offset: {x: -0.455000013, y: 1.10000002, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1173,6 +1205,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.800000012, y: 2, z: 0.0350000001} Friction: 0.400000006 @@ -1199,6 +1232,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1225,6 +1259,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1251,6 +1286,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1277,6 +1313,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1303,6 +1340,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -1351,6 +1389,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1377,6 +1416,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1403,6 +1443,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1429,6 +1470,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1455,6 +1497,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1492,6 +1535,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1518,6 +1562,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1544,6 +1589,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1570,6 +1616,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1596,6 +1643,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1633,6 +1681,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1659,6 +1708,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1685,6 +1735,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1711,6 +1762,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1737,6 +1789,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1774,6 +1827,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1800,6 +1854,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1826,6 +1881,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1852,6 +1908,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1878,6 +1935,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1915,6 +1973,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1941,6 +2000,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1967,6 +2027,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -1993,6 +2054,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -2019,6 +2081,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -2171,6 +2234,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -2197,6 +2261,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -2234,6 +2299,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -2260,6 +2326,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.0500000007, z: 2} Friction: 0.400000006 @@ -2297,6 +2364,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.10000002, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -2305,6 +2373,7 @@ Position Offset: {x: 0.449999988, y: 1.10000002, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.25, y: 2.20000005, z: 1.10000002} Friction: 0.400000006 @@ -2331,6 +2400,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.10000002, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -2339,6 +2409,7 @@ Position Offset: {x: 0.449999988, y: 1.10000002, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.25, y: 2.20000005, z: 1.10000002} Friction: 0.400000006 @@ -2365,6 +2436,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.200000003, z: 0.25} Friction: 0.400000006 @@ -2373,6 +2445,7 @@ Position Offset: {x: 0, y: 2.0999999, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 0.899999976, z: 0.25} Friction: 0.400000006 @@ -2381,6 +2454,7 @@ Position Offset: {x: 0, y: 0.449999988, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -2389,6 +2463,7 @@ Position Offset: {x: -0.949999988, y: 1.10000002, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -2415,6 +2490,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -2441,6 +2517,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 2, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -2467,6 +2544,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -2493,6 +2571,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 2.20000005, z: 0.25} Friction: 0.400000006 @@ -2519,6 +2598,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.400000006, y: 0.439999998, z: 0.400000006} Friction: 0.400000006 @@ -2527,6 +2607,7 @@ Position Offset: {x: 0, y: 0.219999999, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0399999991, y: 1, z: 0.400000006} Friction: 0.400000006 @@ -2575,6 +2656,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -2601,6 +2683,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -2627,6 +2710,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -2653,6 +2737,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -2661,6 +2746,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -2669,6 +2755,7 @@ Position Offset: {x: 0, y: 1.17499995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -2677,6 +2764,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -2685,6 +2773,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -2711,6 +2800,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.970000029, y: 0.0250000004, z: 0.870000005} Friction: 0.400000006 @@ -2719,6 +2809,7 @@ Position Offset: {x: -0.310000002, y: -0.219999999, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -2727,6 +2818,7 @@ Position Offset: {x: 0.147, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -2735,6 +2827,7 @@ Position Offset: {x: -0.757000029, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -2743,6 +2836,7 @@ Position Offset: {x: -0.310000002, y: -0.0700000003, z: -0.425000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -2769,6 +2863,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.970000029, y: 0.0250000004, z: 0.870000005} Friction: 0.400000006 @@ -2777,6 +2872,7 @@ Position Offset: {x: -0.310000002, y: -0.219999999, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -2785,6 +2881,7 @@ Position Offset: {x: 0.147, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -2793,6 +2890,7 @@ Position Offset: {x: -0.757000029, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -2801,6 +2899,7 @@ Position Offset: {x: -0.310000002, y: -0.0700000003, z: -0.425000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -2827,6 +2926,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.970000029, y: 0.0250000004, z: 0.870000005} Friction: 0.400000006 @@ -2835,6 +2935,7 @@ Position Offset: {x: -0.310000002, y: -0.219999999, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -2843,6 +2944,7 @@ Position Offset: {x: 0.147, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -2851,6 +2953,7 @@ Position Offset: {x: -0.757000029, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -2859,6 +2962,7 @@ Position Offset: {x: -0.310000002, y: -0.0700000003, z: -0.425000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -2885,6 +2989,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -2911,6 +3016,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.725000024, z: 0.850000024} Friction: 0.400000006 @@ -2952,6 +3058,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.800000012, y: 0.0500000007, z: 0.800000012} Friction: 0.400000006 @@ -2978,6 +3085,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -2986,6 +3094,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -2994,6 +3103,7 @@ Position Offset: {x: 0, y: 0.860000014, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3002,6 +3112,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3010,6 +3121,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -3018,6 +3130,7 @@ Position Offset: {x: -0.444999993, y: 0.600000024, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.300000012, z: 1} Friction: 0.400000006 @@ -3026,6 +3139,7 @@ Position Offset: {x: 0.444999993, y: 1.04999995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.300000012, z: 0.100000001} Friction: 0.400000006 @@ -3034,6 +3148,7 @@ Position Offset: {x: 0, y: 1.04999995, z: 0.444999993} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.300000012, z: 0.100000001} Friction: 0.400000006 @@ -3042,6 +3157,7 @@ Position Offset: {x: 0, y: 1.04999995, z: -0.444999993} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.300000012, z: 0.100000001} Friction: 0.400000006 @@ -3068,6 +3184,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.07500005, z: 0.925000012} Friction: 0.400000006 @@ -3094,6 +3211,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3102,6 +3220,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3110,6 +3229,7 @@ Position Offset: {x: 0, y: 0.860000014, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3118,6 +3238,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3126,6 +3247,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -3134,6 +3256,7 @@ Position Offset: {x: -0.444999993, y: 0.600000024, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.300000012, z: 1} Friction: 0.400000006 @@ -3142,6 +3265,7 @@ Position Offset: {x: 0.444999993, y: 1.04999995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.300000012, z: 0.100000001} Friction: 0.400000006 @@ -3150,6 +3274,7 @@ Position Offset: {x: 0, y: 1.04999995, z: 0.444999993} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.300000012, z: 0.100000001} Friction: 0.400000006 @@ -3158,6 +3283,7 @@ Position Offset: {x: 0, y: 1.04999995, z: -0.444999993} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.300000012, z: 0.100000001} Friction: 0.400000006 @@ -3184,6 +3310,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.07500005, z: 0.925000012} Friction: 0.400000006 @@ -3210,6 +3337,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -3236,6 +3364,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.400000006, y: 1.29999995, z: 1} Friction: 0.400000006 @@ -3244,6 +3373,7 @@ Position Offset: {x: 0, y: 0.699999988, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.600000024, y: 1.70000005, z: 0.0700000003} Friction: 0.400000006 @@ -3252,6 +3382,7 @@ Position Offset: {x: 0, y: 0.850000024, z: -0.5} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.600000024, y: 1.70000005, z: 0.0700000003} Friction: 0.400000006 @@ -3278,6 +3409,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.300000012, y: 0.800000012, z: 0.300000012} Friction: 0.400000006 @@ -3315,6 +3447,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.699999988, y: 0.0500000007, z: 1.20000005} Friction: 0.400000006 @@ -3323,6 +3456,7 @@ Position Offset: {x: 0, y: 0.77700001, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.800000012, z: 0.0500000007} Friction: 0.400000006 @@ -3331,6 +3465,7 @@ Position Offset: {x: -0.449999988, y: 0.400000006, z: -0.850000024} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.800000012, z: 0.0500000007} Friction: 0.400000006 @@ -3339,6 +3474,7 @@ Position Offset: {x: -0.449999988, y: 0.400000006, z: 0.850000024} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.800000012, z: 0.0500000007} Friction: 0.400000006 @@ -3347,6 +3483,7 @@ Position Offset: {x: 0.449999988, y: 0.400000006, z: 0.850000024} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.800000012, z: 0.0500000007} Friction: 0.400000006 @@ -3373,6 +3510,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.400000006, y: 0.439999998, z: 0.400000006} Friction: 0.400000006 @@ -3381,6 +3519,7 @@ Position Offset: {x: 0, y: 0.219999999, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0399999991, y: 1, z: 0.400000006} Friction: 0.400000006 @@ -3407,6 +3546,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.400000006, y: 0.439999998, z: 0.400000006} Friction: 0.400000006 @@ -3415,6 +3555,7 @@ Position Offset: {x: 0, y: 0.219999999, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0399999991, y: 1, z: 0.400000006} Friction: 0.400000006 @@ -3441,6 +3582,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.400000006, y: 0.439999998, z: 0.400000006} Friction: 0.400000006 @@ -3449,6 +3591,7 @@ Position Offset: {x: 0, y: 0.219999999, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0399999991, y: 1, z: 0.400000006} Friction: 0.400000006 @@ -3475,6 +3618,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.400000006, y: 0.439999998, z: 0.400000006} Friction: 0.400000006 @@ -3483,6 +3627,7 @@ Position Offset: {x: 0, y: 0.219999999, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0399999991, y: 1, z: 0.400000006} Friction: 0.400000006 @@ -3520,6 +3665,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3528,6 +3674,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3536,6 +3683,7 @@ Position Offset: {x: 0, y: 1.17499995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3544,6 +3692,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3552,6 +3701,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -3578,6 +3728,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3586,6 +3737,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3594,6 +3746,7 @@ Position Offset: {x: 0, y: 1.17499995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3602,6 +3755,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3610,6 +3764,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -3636,6 +3791,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3644,6 +3800,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3652,6 +3809,7 @@ Position Offset: {x: 0, y: 0.860000014, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3660,6 +3818,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3668,6 +3827,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -3676,6 +3836,7 @@ Position Offset: {x: -0.444999993, y: 0.600000024, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.300000012, z: 1} Friction: 0.400000006 @@ -3684,6 +3845,7 @@ Position Offset: {x: 0.444999993, y: 1.04999995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.300000012, z: 0.100000001} Friction: 0.400000006 @@ -3692,6 +3854,7 @@ Position Offset: {x: 0, y: 1.04999995, z: 0.444999993} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.300000012, z: 0.100000001} Friction: 0.400000006 @@ -3700,6 +3863,7 @@ Position Offset: {x: 0, y: 1.04999995, z: -0.444999993} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.300000012, z: 0.100000001} Friction: 0.400000006 @@ -3726,6 +3890,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.07500005, z: 0.462500006} Friction: 0.400000006 @@ -3752,6 +3917,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.07500005, z: 0.462500006} Friction: 0.400000006 @@ -3778,6 +3944,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3786,6 +3953,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3794,6 +3962,7 @@ Position Offset: {x: 0, y: 1.17499995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3802,6 +3971,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3810,6 +3980,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -3836,6 +4007,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.970000029, y: 0.0250000004, z: 0.870000005} Friction: 0.400000006 @@ -3844,6 +4016,7 @@ Position Offset: {x: -0.310000002, y: -0.519999981, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.699999988, z: 0.870000005} Friction: 0.400000006 @@ -3852,6 +4025,7 @@ Position Offset: {x: 0.147, y: -0.170000002, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.699999988, z: 0.870000005} Friction: 0.400000006 @@ -3860,6 +4034,7 @@ Position Offset: {x: -0.757000029, y: -0.170000002, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.699999988, z: 0.0450000018} Friction: 0.400000006 @@ -3868,6 +4043,7 @@ Position Offset: {x: -0.310000002, y: -0.170000002, z: -0.425000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.699999988, z: 0.0450000018} Friction: 0.400000006 @@ -3894,6 +4070,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.970000029, y: 0.0250000004, z: 0.870000005} Friction: 0.400000006 @@ -3902,6 +4079,7 @@ Position Offset: {x: -0.310000002, y: -0.219999999, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -3910,6 +4088,7 @@ Position Offset: {x: 0.147, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -3918,6 +4097,7 @@ Position Offset: {x: -0.757000029, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -3926,6 +4106,7 @@ Position Offset: {x: -0.310000002, y: -0.0700000003, z: -0.425000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -3952,6 +4133,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3960,6 +4142,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -3968,6 +4151,7 @@ Position Offset: {x: 0, y: 1.17499995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3976,6 +4160,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -3984,6 +4169,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4010,6 +4196,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4036,6 +4223,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4062,6 +4250,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4088,6 +4277,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4114,6 +4304,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4140,6 +4331,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.725000024, z: 0.850000024} Friction: 0.400000006 @@ -4181,6 +4373,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.800000012, y: 0.0500000007, z: 0.800000012} Friction: 0.400000006 @@ -4207,6 +4400,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4233,6 +4427,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.725000024, z: 0.850000024} Friction: 0.400000006 @@ -4274,6 +4469,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.800000012, y: 0.0500000007, z: 0.800000012} Friction: 0.400000006 @@ -4300,6 +4496,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -4308,6 +4505,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -4316,6 +4514,7 @@ Position Offset: {x: 0, y: 1.17499995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -4324,6 +4523,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -4332,6 +4532,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4358,6 +4559,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -4366,6 +4568,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -4374,6 +4577,7 @@ Position Offset: {x: 0, y: 1.17499995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -4382,6 +4586,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -4390,6 +4595,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4416,6 +4622,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -4424,6 +4631,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -4432,6 +4640,7 @@ Position Offset: {x: 0, y: 1.17499995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -4440,6 +4649,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -4448,6 +4658,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4474,6 +4685,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -4482,6 +4694,7 @@ Position Offset: {x: 0, y: 0.0250000004, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.0500000007, z: 1} Friction: 0.400000006 @@ -4490,6 +4703,7 @@ Position Offset: {x: 0, y: 1.17499995, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -4498,6 +4712,7 @@ Position Offset: {x: 0, y: 0.600000024, z: 0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.20000005, z: 0.0500000007} Friction: 0.400000006 @@ -4506,6 +4721,7 @@ Position Offset: {x: 0, y: 0.600000024, z: -0.474999994} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 1.20000005, z: 1} Friction: 0.400000006 @@ -4532,6 +4748,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.970000029, y: 0.0250000004, z: 0.870000005} Friction: 0.400000006 @@ -4540,6 +4757,7 @@ Position Offset: {x: -0.310000002, y: -0.519999981, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.699999988, z: 0.870000005} Friction: 0.400000006 @@ -4548,6 +4766,7 @@ Position Offset: {x: 0.147, y: -0.170000002, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.699999988, z: 0.870000005} Friction: 0.400000006 @@ -4556,6 +4775,7 @@ Position Offset: {x: -0.757000029, y: -0.170000002, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.699999988, z: 0.0450000018} Friction: 0.400000006 @@ -4564,6 +4784,7 @@ Position Offset: {x: -0.310000002, y: -0.170000002, z: -0.425000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.699999988, z: 0.0450000018} Friction: 0.400000006 @@ -4590,6 +4811,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.970000029, y: 0.0250000004, z: 0.870000005} Friction: 0.400000006 @@ -4598,6 +4820,7 @@ Position Offset: {x: -0.310000002, y: -0.219999999, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -4606,6 +4829,7 @@ Position Offset: {x: 0.147, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0450000018, y: 0.349999994, z: 0.870000005} Friction: 0.400000006 @@ -4614,6 +4838,7 @@ Position Offset: {x: -0.757000029, y: -0.0700000003, z: 0.00499999989} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -4622,6 +4847,7 @@ Position Offset: {x: -0.310000002, y: -0.0700000003, z: -0.425000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.959999979, y: 0.349999994, z: 0.0450000018} Friction: 0.400000006 @@ -4648,6 +4874,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.300000012, y: 0.800000012, z: 0.300000012} Friction: 0.400000006 @@ -4685,6 +4912,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.20000005, y: 0.100000001, z: 2.20000005} Friction: 0.400000006 @@ -4711,6 +4939,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.20000005, y: 0.100000001, z: 2.20000005} Friction: 0.400000006 @@ -4737,6 +4966,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.100000001, z: 1.89999998} Friction: 0.400000006 @@ -4763,6 +4993,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.899999976, y: 0.100000001, z: 1.89999998} Friction: 0.400000006 @@ -4789,6 +5020,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -4797,6 +5029,7 @@ Position Offset: {x: 0, y: 0.5, z: -0.954999983} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -4823,6 +5056,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -4831,6 +5065,7 @@ Position Offset: {x: 0, y: 0.5, z: -0.954999983} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -4857,6 +5092,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.400000006, y: 0.439999998, z: 0.400000006} Friction: 0.400000006 @@ -4865,6 +5101,7 @@ Position Offset: {x: 0, y: 0.219999999, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0399999991, y: 1, z: 0.400000006} Friction: 0.400000006 @@ -4902,6 +5139,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.20000005, y: 0.100000001, z: 2.20000005} Friction: 0.400000006 @@ -4928,6 +5166,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.20000005, y: 0.100000001, z: 2.20000005} Friction: 0.400000006 @@ -4954,6 +5193,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.100000001, z: 1.89999998} Friction: 0.400000006 @@ -4980,6 +5220,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.899999976, y: 0.100000001, z: 1.89999998} Friction: 0.400000006 @@ -5006,6 +5247,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -5014,6 +5256,7 @@ Position Offset: {x: 0, y: 0.5, z: -0.954999983} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -5040,6 +5283,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -5048,6 +5292,7 @@ Position Offset: {x: 0, y: 0.5, z: -0.954999983} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -5085,6 +5330,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.20000005, y: 0.100000001, z: 2.20000005} Friction: 0.400000006 @@ -5111,6 +5357,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.20000005, y: 0.100000001, z: 2.20000005} Friction: 0.400000006 @@ -5137,6 +5384,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.100000001, z: 1.89999998} Friction: 0.400000006 @@ -5163,6 +5411,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.899999976, y: 0.100000001, z: 1.89999998} Friction: 0.400000006 @@ -5189,6 +5438,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -5197,6 +5447,7 @@ Position Offset: {x: 0, y: 0.5, z: -0.954999983} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -5223,6 +5474,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -5231,6 +5483,7 @@ Position Offset: {x: 0, y: 0.5, z: -0.954999983} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -5257,6 +5510,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.699999988, y: 0.0500000007, z: 1.20000005} Friction: 0.400000006 @@ -5265,6 +5519,7 @@ Position Offset: {x: 0, y: 0.77700001, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.800000012, z: 0.0500000007} Friction: 0.400000006 @@ -5273,6 +5528,7 @@ Position Offset: {x: -0.25, y: 0.400000006, z: -0.550000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.800000012, z: 0.0500000007} Friction: 0.400000006 @@ -5281,6 +5537,7 @@ Position Offset: {x: -0.25, y: 0.400000006, z: 0.550000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.800000012, z: 0.0500000007} Friction: 0.400000006 @@ -5289,6 +5546,7 @@ Position Offset: {x: 0.25, y: 0.400000006, z: 0.550000012} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0500000007, y: 0.800000012, z: 0.0500000007} Friction: 0.400000006 @@ -5315,6 +5573,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.400000006, y: 0.439999998, z: 0.400000006} Friction: 0.400000006 @@ -5323,6 +5582,7 @@ Position Offset: {x: 0, y: 0.219999999, z: 0} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.0399999991, y: 1, z: 0.400000006} Friction: 0.400000006 @@ -5360,6 +5620,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.20000005, y: 0.100000001, z: 2.20000005} Friction: 0.400000006 @@ -5386,6 +5647,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1.20000005, y: 0.100000001, z: 2.20000005} Friction: 0.400000006 @@ -5412,6 +5674,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 0.100000001, z: 1.89999998} Friction: 0.400000006 @@ -5438,6 +5701,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -5446,6 +5710,7 @@ Position Offset: {x: 0, y: 0.5, z: -0.954999983} Rotation Offset: {x: 0, y: 0, z: 0} - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.100000001} Friction: 0.400000006 @@ -8235,6 +8500,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.300000012, y: 0.300000012, z: 0.300000012} Friction: 0.400000006 @@ -8279,6 +8545,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.300000012, y: 0.300000012, z: 0.300000012} Friction: 0.400000006 @@ -8323,6 +8590,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.300000012, y: 0.300000012, z: 0.300000012} Friction: 0.400000006 @@ -8367,6 +8635,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.5, y: 0.150000006, z: 0.5} Friction: 0.400000006 @@ -8411,6 +8680,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.5, y: 0.150000006, z: 0.5} Friction: 0.400000006 @@ -8455,6 +8725,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.5, y: 0.150000006, z: 0.5} Friction: 0.400000006 @@ -8499,6 +8770,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.200000003, y: 0.200000003, z: 0.200000003} Friction: 0.400000006 @@ -8543,6 +8815,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.200000003, y: 0.200000003, z: 0.200000003} Friction: 0.400000006 @@ -8587,6 +8860,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.200000003, y: 0.200000003, z: 0.200000003} Friction: 0.400000006 @@ -8633,6 +8907,7 @@ Collider Component: Colliders: - Is Trigger: true + Collision Tag: 1 Type: Box Half Extents: {x: 1.79999995, y: 1, z: 1} Friction: 0.400000006 @@ -8671,6 +8946,7 @@ Collider Component: Colliders: - Is Trigger: true + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1, z: 0.200000003} Friction: 0.400000006 @@ -8773,6 +9049,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.400000006, y: 0.5, z: 0.300000012} Friction: 0.400000006 @@ -8916,6 +9193,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.200000003, y: 0.100000001, z: 0.200000003} Friction: 0.400000006 @@ -8960,6 +9238,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.150000006} Friction: 0.400000006 @@ -9000,6 +9279,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.200000003} Friction: 0.400000006 @@ -9040,6 +9320,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.150000006} Friction: 0.400000006 @@ -9080,6 +9361,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.150000006} Friction: 0.400000006 @@ -9120,6 +9402,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.200000003, y: 0.100000001, z: 0.200000003} Friction: 0.400000006 @@ -9164,6 +9447,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.150000006} Friction: 0.400000006 @@ -9204,6 +9488,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.200000003} Friction: 0.400000006 @@ -9244,6 +9529,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.150000006} Friction: 0.400000006 @@ -9284,6 +9570,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.150000006} Friction: 0.400000006 @@ -9324,6 +9611,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.200000003, y: 0.100000001, z: 0.200000003} Friction: 0.400000006 @@ -9368,6 +9656,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.150000006} Friction: 0.400000006 @@ -9408,6 +9697,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.200000003} Friction: 0.400000006 @@ -9448,6 +9738,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.150000006} Friction: 0.400000006 @@ -9488,6 +9779,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 0.100000001, y: 0.0500000007, z: 0.150000006} Friction: 0.400000006 @@ -9611,6 +9903,7 @@ Collider Component: Colliders: - Is Trigger: false + Collision Tag: 1 Type: Box Half Extents: {x: 1, y: 1.79999995, z: 0.400000006} Friction: 0.400000006 diff --git a/Assets/Shaders/DebugDrawMesh_VS.glsl b/Assets/Shaders/DebugDrawMesh_VS.glsl index 2f035261..1f3b43ac 100644 --- a/Assets/Shaders/DebugDrawMesh_VS.glsl +++ b/Assets/Shaders/DebugDrawMesh_VS.glsl @@ -11,13 +11,12 @@ layout(location = 0) out struct vec4 Color; } Out; -layout(set = 2, binding = 0) uniform CameraData +layout(set = 1, binding = 0) uniform CameraData { vec4 position; mat4 vpMat; mat4 viewMat; - mat4 perspectiveMat; - mat4 orthoMat; + mat4 projMat; } cameraData; void main() diff --git a/Assets/Shaders/DebugDrawMesh_VS.shshaderb b/Assets/Shaders/DebugDrawMesh_VS.shshaderb index 442cd789..c00e88f8 100644 Binary files a/Assets/Shaders/DebugDrawMesh_VS.shshaderb and b/Assets/Shaders/DebugDrawMesh_VS.shshaderb differ diff --git a/Assets/Shaders/DebugDraw_VS.glsl b/Assets/Shaders/DebugDraw_VS.glsl index 42a48c01..dbfa7645 100644 --- a/Assets/Shaders/DebugDraw_VS.glsl +++ b/Assets/Shaders/DebugDraw_VS.glsl @@ -10,13 +10,12 @@ layout(location = 0) out struct vec4 vertColor; // location 0 } Out; -layout(set = 2, binding = 0) uniform CameraData +layout(set = 1, binding = 0) uniform CameraData { vec4 position; mat4 vpMat; mat4 viewMat; - mat4 perspectiveMat; - mat4 orthoMat; + mat4 projMat; } cameraData; void main() diff --git a/Assets/Shaders/DebugDraw_VS.shshaderb b/Assets/Shaders/DebugDraw_VS.shshaderb index 9f5f7766..3ce6c312 100644 Binary files a/Assets/Shaders/DebugDraw_VS.shshaderb and b/Assets/Shaders/DebugDraw_VS.shshaderb differ diff --git a/Assets/Shaders/DeferredComposite_CS.glsl b/Assets/Shaders/DeferredComposite_CS.glsl index 5af585ba..0a8085b1 100644 --- a/Assets/Shaders/DeferredComposite_CS.glsl +++ b/Assets/Shaders/DeferredComposite_CS.glsl @@ -17,12 +17,12 @@ struct AmbientLightStruct }; layout(local_size_x = 16, local_size_y = 16) in; -layout(set = 4, binding = 0, rgba32f) uniform image2D positions; -layout(set = 4, binding = 1, rgba32f) uniform image2D normals; -layout(set = 4, binding = 2, rgba8) uniform image2D albedo; -layout(set = 4, binding = 3, r32ui) uniform uimage2D lightLayerData; -layout(set = 4, binding = 4, r8) uniform image2D ssaoBlurredImage; -layout(set = 4, binding = 5, rgba8) uniform image2D targetImage; +layout(set = 3, binding = 0, rgba32f) uniform image2D positions; +layout(set = 3, binding = 1, rgba32f) uniform image2D normals; +layout(set = 3, binding = 2, rgba8) uniform image2D albedo; +layout(set = 3, binding = 3, r32ui) uniform uimage2D lightLayerData; +layout(set = 3, binding = 4, r8) uniform image2D ssaoBlurredImage; +layout(set = 3, binding = 5, rgba8) uniform image2D targetImage; layout(set = 1, binding = 0) uniform LightCounts { diff --git a/Assets/Shaders/DeferredComposite_CS.shshaderb b/Assets/Shaders/DeferredComposite_CS.shshaderb index 172a6a32..cabce080 100644 Binary files a/Assets/Shaders/DeferredComposite_CS.shshaderb and b/Assets/Shaders/DeferredComposite_CS.shshaderb differ diff --git a/Assets/Shaders/Kirsch_CS.glsl b/Assets/Shaders/Kirsch_CS.glsl index 3dec174d..8c60525a 100644 --- a/Assets/Shaders/Kirsch_CS.glsl +++ b/Assets/Shaders/Kirsch_CS.glsl @@ -50,8 +50,8 @@ #define NUM_MASKS 8 layout(local_size_x = 16, local_size_y = 16) in; -layout(set = 4, binding = 0, rgba8) uniform image2D inputImage; -layout(set = 4, binding = 1, rgba8) uniform image2D resultImage; +layout(set = 3, binding = 0, rgba8) uniform image2D inputImage; +layout(set = 3, binding = 1, rgba8) uniform image2D resultImage; const float kirsch[8][3][3] = { { diff --git a/Assets/Shaders/Normals_FS.glsl b/Assets/Shaders/Normals_FS.glsl index ba260d82..78b0a027 100644 --- a/Assets/Shaders/Normals_FS.glsl +++ b/Assets/Shaders/Normals_FS.glsl @@ -28,7 +28,7 @@ layout(location = 3) flat in struct } In2; layout (set = 0, binding = 1) uniform sampler2D textures[]; // for textures (global) -layout (std430, set = 3, binding = 0) buffer MaterialProperties // For materials +layout (std430, set = 2, binding = 0) buffer MaterialProperties // For materials { MatPropData data[]; } MatProp; diff --git a/Assets/Shaders/Normals_FS.shshaderb b/Assets/Shaders/Normals_FS.shshaderb index 7595ece9..7f72d16f 100644 Binary files a/Assets/Shaders/Normals_FS.shshaderb and b/Assets/Shaders/Normals_FS.shshaderb differ diff --git a/Assets/Shaders/PureCopy_CS.glsl b/Assets/Shaders/PureCopy_CS.glsl index 89da6dd9..6f396199 100644 --- a/Assets/Shaders/PureCopy_CS.glsl +++ b/Assets/Shaders/PureCopy_CS.glsl @@ -46,8 +46,8 @@ layout(local_size_x = 16, local_size_y = 16) in; -layout(set = 4, binding = 0, rgba8) uniform image2D inputImage; -layout(set = 4, binding = 1, rgba8) uniform image2D targetImage; +layout(set = 3, binding = 0, rgba8) uniform image2D inputImage; +layout(set = 3, binding = 1, rgba8) uniform image2D targetImage; void main() diff --git a/Assets/Shaders/PureCopy_CS.shshaderb b/Assets/Shaders/PureCopy_CS.shshaderb index 30a629f5..15821430 100644 Binary files a/Assets/Shaders/PureCopy_CS.shshaderb and b/Assets/Shaders/PureCopy_CS.shshaderb differ diff --git a/Assets/Shaders/SSAOBlur_CS.glsl b/Assets/Shaders/SSAOBlur_CS.glsl index 64066525..4519689d 100644 --- a/Assets/Shaders/SSAOBlur_CS.glsl +++ b/Assets/Shaders/SSAOBlur_CS.glsl @@ -5,8 +5,8 @@ #define SHM_WIDTH BLUR_WIDTH + 16 - 1 layout(local_size_x = 16, local_size_y = 16) in; -layout(set = 4, binding = 0, r8) uniform image2D ssaoImage; -layout(set = 4, binding = 1, r8) uniform image2D ssaoBlurImage; +layout(set = 3, binding = 0, r8) uniform image2D ssaoImage; +layout(set = 3, binding = 1, r8) uniform image2D ssaoBlurImage; float GetSSAOValue(ivec2 uv, ivec2 imageSize) diff --git a/Assets/Shaders/SSAOBlur_CS.shshaderb b/Assets/Shaders/SSAOBlur_CS.shshaderb index e25b57ba..5d40b45f 100644 Binary files a/Assets/Shaders/SSAOBlur_CS.shshaderb and b/Assets/Shaders/SSAOBlur_CS.shshaderb differ diff --git a/Assets/Shaders/SSAO_CS.glsl b/Assets/Shaders/SSAO_CS.glsl index 627c59d1..42ab220c 100644 --- a/Assets/Shaders/SSAO_CS.glsl +++ b/Assets/Shaders/SSAO_CS.glsl @@ -1,5 +1,7 @@ #version 450 +#pragma vscode_glsllint_stage : comp + const uint NUM_SAMPLES = 64; const uint NUM_ROTATIONS = 16; const int ROTATION_KERNEL_W = 4; @@ -10,19 +12,19 @@ const float RADIUS = 0.2f; const float BIAS = 0.0025f; layout(local_size_x = 16, local_size_y = 16) in; -layout(set = 4, binding = 0, rgba32f) uniform image2D positions; -layout(set = 4, binding = 1, rgba32f) uniform image2D normals; -layout(set = 4, binding = 2, rgba32f) uniform image2D outputImage; +layout(set = 3, binding = 0, rgba32f) uniform image2D positions; +layout(set = 3, binding = 1, rgba32f) uniform image2D normals; +layout(set = 3, binding = 2, rgba32f) uniform image2D outputImage; // SSAO data -layout(std430, set = 5, binding = 0) buffer SSAOData +layout(std430, set = 4, binding = 0) buffer SSAOData { vec4 samples[NUM_SAMPLES]; } ssaoData; -layout (set = 5, binding = 1) uniform sampler2D noiseTexture; +layout (set = 4, binding = 1) uniform sampler2D noiseTexture; layout(set = 2, binding = 0) uniform CameraData { diff --git a/Assets/Shaders/SSAO_CS.shshaderb b/Assets/Shaders/SSAO_CS.shshaderb index a9154e10..36e627d6 100644 Binary files a/Assets/Shaders/SSAO_CS.shshaderb and b/Assets/Shaders/SSAO_CS.shshaderb differ diff --git a/Assets/Shaders/TestCube_FS.glsl b/Assets/Shaders/TestCube_FS.glsl index d6f88687..b6a1eab6 100644 --- a/Assets/Shaders/TestCube_FS.glsl +++ b/Assets/Shaders/TestCube_FS.glsl @@ -28,7 +28,7 @@ layout(location = 3) flat in struct } In2; layout (set = 0, binding = 1) uniform sampler2D textures[]; // for textures (global) -layout (std430, set = 3, binding = 0) buffer MaterialProperties // For materials +layout (std430, set = 2, binding = 0) buffer MaterialProperties // For materials { MatPropData data[]; } MatProp; diff --git a/Assets/Shaders/TestCube_FS.shshaderb b/Assets/Shaders/TestCube_FS.shshaderb index bcf5bf5e..abd90cf7 100644 Binary files a/Assets/Shaders/TestCube_FS.shshaderb and b/Assets/Shaders/TestCube_FS.shshaderb differ diff --git a/Assets/Shaders/TestCube_Tile_FS.glsl b/Assets/Shaders/TestCube_Tile_FS.glsl index 84403a7c..c01d9365 100644 --- a/Assets/Shaders/TestCube_Tile_FS.glsl +++ b/Assets/Shaders/TestCube_Tile_FS.glsl @@ -26,7 +26,7 @@ layout(location = 3) flat in struct } In2; layout (set = 0, binding = 1) uniform sampler2D textures[]; // for textures (global) -layout (std430, set = 3, binding = 0) buffer MaterialProperties // For materials +layout (std430, set = 2, binding = 0) buffer MaterialProperties // For materials { MatPropData data[]; } MatProp; diff --git a/Assets/Shaders/TestCube_Tile_FS.shshaderb b/Assets/Shaders/TestCube_Tile_FS.shshaderb index c7444c7d..836a25d4 100644 Binary files a/Assets/Shaders/TestCube_Tile_FS.shshaderb and b/Assets/Shaders/TestCube_Tile_FS.shshaderb differ diff --git a/Assets/Shaders/TestCube_Tile_VS.glsl b/Assets/Shaders/TestCube_Tile_VS.glsl index 31a448fe..d3a1a0de 100644 --- a/Assets/Shaders/TestCube_Tile_VS.glsl +++ b/Assets/Shaders/TestCube_Tile_VS.glsl @@ -34,16 +34,15 @@ layout(location = 3) out struct } Out2; -layout(set = 2, binding = 0) uniform CameraData +layout(set = 1, binding = 0) uniform CameraData { vec4 position; mat4 vpMat; mat4 viewMat; - mat4 perspectiveMat; - mat4 orthoMat; + mat4 projMat; } cameraData; -layout (std430, set = 3, binding = 0) buffer MaterialProperties // For materials +layout (std430, set = 2, binding = 0) buffer MaterialProperties // For materials { MatPropData data[]; } MatProp; diff --git a/Assets/Shaders/TestCube_Tile_VS.shshaderb b/Assets/Shaders/TestCube_Tile_VS.shshaderb index 9f836656..c7749607 100644 Binary files a/Assets/Shaders/TestCube_Tile_VS.shshaderb and b/Assets/Shaders/TestCube_Tile_VS.shshaderb differ diff --git a/Assets/Shaders/TestCube_VS.glsl b/Assets/Shaders/TestCube_VS.glsl index 774bc580..554ce379 100644 --- a/Assets/Shaders/TestCube_VS.glsl +++ b/Assets/Shaders/TestCube_VS.glsl @@ -29,13 +29,12 @@ layout(location = 3) out struct } Out2; -layout(set = 2, binding = 0) uniform CameraData +layout(set = 1, binding = 0) uniform CameraData { vec4 position; mat4 vpMat; mat4 viewMat; - mat4 perspectiveMat; - mat4 orthoMat; + mat4 projMat; } cameraData; void main() diff --git a/Assets/Shaders/TestCube_VS.shshaderb b/Assets/Shaders/TestCube_VS.shshaderb index 28c4655b..a1138f75 100644 Binary files a/Assets/Shaders/TestCube_VS.shshaderb and b/Assets/Shaders/TestCube_VS.shshaderb differ diff --git a/Assets/Shaders/Text_FS.glsl b/Assets/Shaders/Text_FS.glsl index fdf32583..36bdb8eb 100644 --- a/Assets/Shaders/Text_FS.glsl +++ b/Assets/Shaders/Text_FS.glsl @@ -28,7 +28,7 @@ layout(location = 3) flat in struct -layout(set = 4, binding = 0) uniform sampler2D fontBitmap; +layout(set = 2, binding = 0) uniform sampler2D fontBitmap; layout(location = 0) out vec4 color; layout(location = 1) out uint outEntityID; diff --git a/Assets/Shaders/Text_FS.shshaderb b/Assets/Shaders/Text_FS.shshaderb index d9b47d6e..024073a8 100644 Binary files a/Assets/Shaders/Text_FS.shshaderb and b/Assets/Shaders/Text_FS.shshaderb differ diff --git a/Assets/Shaders/Text_VS.glsl b/Assets/Shaders/Text_VS.glsl index 3501a13d..1e05dd25 100644 --- a/Assets/Shaders/Text_VS.glsl +++ b/Assets/Shaders/Text_VS.glsl @@ -25,13 +25,12 @@ layout(location = 3) out struct } Out2; // Camera data -layout(set = 2, binding = 0) uniform CameraData +layout(set = 1, binding = 0) uniform CameraData { vec4 position; mat4 vpMat; mat4 viewMat; - mat4 perspectiveMat; - mat4 orthoMat; + mat4 projMat; } cameraData; // push constants @@ -44,7 +43,7 @@ layout(std140, push_constant) uniform TestPushConstant } testPushConstant; // Descriptor sets -layout(std430, set = 4, binding = 1) buffer GlyphTransforms +layout(std430, set = 2, binding = 1) buffer GlyphTransforms { mat4 matrices[]; } glyphTransforms; @@ -96,6 +95,6 @@ void main() Out2.textColor = testPushConstant.textColor; // transform the vertex position to font space - gl_Position = cameraData.orthoMat * localModel * vec4(vertexPos, 1.0f); + gl_Position = cameraData.projMat * localModel * vec4(vertexPos, 1.0f); // gl_Position = vec4(vertexPos, 1.0f); } \ No newline at end of file diff --git a/Assets/Shaders/Text_VS.shshaderb b/Assets/Shaders/Text_VS.shshaderb index 25eff84a..527b3db7 100644 Binary files a/Assets/Shaders/Text_VS.shshaderb and b/Assets/Shaders/Text_VS.shshaderb differ diff --git a/Assets/Shaders/ToSwapchain_FS.glsl b/Assets/Shaders/ToSwapchain_FS.glsl index a68fa0c7..3cf1752f 100644 --- a/Assets/Shaders/ToSwapchain_FS.glsl +++ b/Assets/Shaders/ToSwapchain_FS.glsl @@ -3,7 +3,7 @@ #extension GL_ARB_shading_language_420pack : enable #extension GL_EXT_nonuniform_qualifier : require -layout (input_attachment_index = 0, set = 4, binding = 0) uniform subpassInput sceneTexture; +layout (input_attachment_index = 0, set = 0, binding = 0) uniform subpassInput sceneTexture; layout(location = 0) out vec4 fragColor; diff --git a/Assets/Shaders/ToSwapchain_FS.shshaderb b/Assets/Shaders/ToSwapchain_FS.shshaderb index b10a9d6c..0bee0ac6 100644 Binary files a/Assets/Shaders/ToSwapchain_FS.shshaderb and b/Assets/Shaders/ToSwapchain_FS.shshaderb differ diff --git a/Assets/Shaders/UI_FS.glsl b/Assets/Shaders/UI_FS.glsl index 093cc9c6..0c4c526c 100644 --- a/Assets/Shaders/UI_FS.glsl +++ b/Assets/Shaders/UI_FS.glsl @@ -28,7 +28,7 @@ layout(location = 3) flat in struct } In2; layout (set = 0, binding = 1) uniform sampler2D textures[]; // for textures (global) -layout (std430, set = 3, binding = 0) buffer MaterialProperties // For materials +layout (std430, set = 2, binding = 0) buffer MaterialProperties // For materials { MatPropData data[]; } MatProp; diff --git a/Assets/Shaders/UI_FS.shshaderb b/Assets/Shaders/UI_FS.shshaderb index fcb72b6e..703040e1 100644 Binary files a/Assets/Shaders/UI_FS.shshaderb and b/Assets/Shaders/UI_FS.shshaderb differ diff --git a/Assets/Shaders/UI_VS.glsl b/Assets/Shaders/UI_VS.glsl index c4393b98..8856ca77 100644 --- a/Assets/Shaders/UI_VS.glsl +++ b/Assets/Shaders/UI_VS.glsl @@ -29,13 +29,12 @@ layout(location = 3) out struct } Out2; -layout(set = 2, binding = 0) uniform CameraData +layout(set = 1, binding = 0) uniform CameraData { vec4 position; mat4 vpMat; mat4 viewMat; - mat4 perspectiveMat; - mat4 orthoMat; + mat4 projMat; } cameraData; void main() @@ -60,7 +59,7 @@ void main() Out.normal.rgb = normalize (Out.normal.rgb); // clip space for rendering - gl_Position = cameraData.orthoMat * worldTransform * vec4 (aVertexPos, 1.0f); + gl_Position = cameraData.projMat * worldTransform * vec4 (aVertexPos, 1.0f); gl_Position.z += 0.1f; // HAX // gl_Position = vec4 (aVertexPos, 1.0f); } \ No newline at end of file diff --git a/Assets/Shaders/UI_VS.shshaderb b/Assets/Shaders/UI_VS.shshaderb index a1f1a8b7..79d39a82 100644 Binary files a/Assets/Shaders/UI_VS.shshaderb and b/Assets/Shaders/UI_VS.shshaderb differ diff --git a/Dependencies.bat b/Dependencies.bat index ba411815..460a1d87 100644 --- a/Dependencies.bat +++ b/Dependencies.bat @@ -20,10 +20,11 @@ echo "M - SDL" echo "N - dotnet" echo "O - tinyddsloader" echo "P - fmod" +echo "Q - vswhere" echo --------------------------------------------------- echo. -choice /C ABCDEFGHIJKLMNOP /T 10 /D A +choice /C ABCDEFGHIJKLMNOPQ /T 10 /D A set _e=%ERRORLEVEL% if %_e%==1 goto VMA @@ -42,6 +43,7 @@ if %_e%==13 goto SDL if %_e%==14 goto dotnet if %_e%==15 goto tinyddsloader if %_e%==16 goto fmod +if %_e%==17 goto vswhere :VMA echo -----------------------VMA---------------------------- @@ -155,6 +157,13 @@ if %_e%==15 (goto :done) else (goto :fmod) echo --------------------fmod------------------------- rmdir "Dependencies/fmod" /S /Q git clone https://github.com/SHADE-DP/FMOD.git "Dependencies/fmod" +if %_e%==16 (goto :done) else (goto :vswhere) + +:vswhere +echo -----------------------vswhere---------------------------- +rmdir "Dependencies/vswhere" /S /Q +mkdir "Dependencies/vswhere" +powershell -Command "& {wget https://github.com/microsoft/vswhere/releases/download/3.1.1/vswhere.exe -OutFile "Dependencies/vswhere/vswhere.exe"}" :done echo DONE! diff --git a/Dependencies.lua b/Dependencies.lua index fe75c3f4..2694fe35 100644 --- a/Dependencies.lua +++ b/Dependencies.lua @@ -16,4 +16,5 @@ IncludeDir["SDL"] = "%{wks.location}\\Dependencies\\SDL" IncludeDir["VULKAN"] = "$(VULKAN_SDK)" IncludeDir["dotnet"] = "%{wks.location}\\Dependencies\\dotnet" IncludeDir["tinyddsloader"] = "%{wks.location}\\Dependencies\\tinyddsloader" -IncludeDir["fmod"] = "%{wks.location}\\Dependencies\\fmod" \ No newline at end of file +IncludeDir["fmod"] = "%{wks.location}\\Dependencies\\fmod" +IncludeDir["vswhere"] = "%{wks.location}\\Dependencies\\vswhere" \ No newline at end of file diff --git a/SHADE_Application/src/Application/SBApplication.cpp b/SHADE_Application/src/Application/SBApplication.cpp index 5aa1eb00..fcceacab 100644 --- a/SHADE_Application/src/Application/SBApplication.cpp +++ b/SHADE_Application/src/Application/SBApplication.cpp @@ -67,6 +67,9 @@ namespace Sandbox SHFileUtilities::SetWorkDirToExecDir(); WindowData wndData{}; auto& appConfig = SHConfigurationManager::LoadApplicationConfig(&wndData); +#if SHEDITOR + auto& editorConfig = SHConfigurationManager::LoadEditorConfig(&wndData); +#endif window.Create(hInstance, hPrevInstance, lpCmdLine, nCmdShow, wndData); // Create Systems @@ -158,8 +161,11 @@ namespace Sandbox SHSystemManager::Init(); +#if SHEDITOR + SHSceneManager::InitSceneManager(editorConfig.workingSceneID); +#else SHSceneManager::InitSceneManager(appConfig.startingSceneID); - +#endif SHFrameRateController::UpdateFRC(); // Link up SHDebugDraw diff --git a/SHADE_Engine/premake5.lua b/SHADE_Engine/premake5.lua index 7fb7291d..17ca5be8 100644 --- a/SHADE_Engine/premake5.lua +++ b/SHADE_Engine/premake5.lua @@ -124,7 +124,8 @@ project "SHADE_Engine" "xcopy /r /y /q \"%{IncludeDir.ModelCompiler}\\bin\\Debug\\ModelCompiler.exe\" \"$(OutDir)\"", "xcopy /r /y /q \"%{IncludeDir.FontCompiler}\\bin\\Debug\\FontCompiler.exe\" \"$(OutDir)\"", "xcopy /r /y /q \"%{IncludeDir.fmod}\\lib\\fmodL.dll\" \"$(OutDir)\"", - "xcopy /r /y /q \"%{IncludeDir.fmod}\\lib\\fmodstudioL.dll\" \"$(OutDir)\"" + "xcopy /r /y /q \"%{IncludeDir.fmod}\\lib\\fmodstudioL.dll\" \"$(OutDir)\"", + "xcopy /r /y /q \"%{IncludeDir.vswhere}\\vswhere.exe\" \"$(OutDir)\"" } filter "configurations:Release" @@ -134,7 +135,8 @@ project "SHADE_Engine" "xcopy /r /y /q \"%{IncludeDir.ModelCompiler}\\bin\\Release\\ModelCompiler.exe\" \"$(OutDir)\"", "xcopy /r /y /q \"%{IncludeDir.FontCompiler}\\bin\\Release\\FontCompiler.exe\" \"$(OutDir)\"", "xcopy /r /y /q \"%{IncludeDir.fmod}\\lib\\fmod.dll\" \"$(OutDir)\"", - "xcopy /r /y /q \"%{IncludeDir.fmod}\\lib\\fmodstudio.dll\" \"$(OutDir)\"" + "xcopy /r /y /q \"%{IncludeDir.fmod}\\lib\\fmodstudio.dll\" \"$(OutDir)\"", + "xcopy /r /y /q \"%{IncludeDir.vswhere}\\vswhere.exe\" \"$(OutDir)\"" } filter "configurations:Publish" diff --git a/SHADE_Engine/src/Camera/SHCameraComponent.cpp b/SHADE_Engine/src/Camera/SHCameraComponent.cpp index 7fc71db1..8b2f50d9 100644 --- a/SHADE_Engine/src/Camera/SHCameraComponent.cpp +++ b/SHADE_Engine/src/Camera/SHCameraComponent.cpp @@ -226,7 +226,7 @@ namespace SHADE const SHMatrix& SHCameraComponent::GetPerspectiveMatrix() const noexcept { - return orthoProjMatrix; + return perspProjMatrix; } //void SHCameraComponent::SetMainCamera(size_t directorCameraIndex) noexcept diff --git a/SHADE_Engine/src/Editor/Command/SHCommandManager.cpp b/SHADE_Engine/src/Editor/Command/SHCommandManager.cpp index b86f9247..fec30142 100644 --- a/SHADE_Engine/src/Editor/Command/SHCommandManager.cpp +++ b/SHADE_Engine/src/Editor/Command/SHCommandManager.cpp @@ -18,11 +18,17 @@ namespace SHADE SHCommandManager::CommandStackPtr SHCommandManager::pCurrUndoStack(&undoStack); SHCommandManager::CommandStackPtr SHCommandManager::pCurrRedoStack(&redoStack); + bool SHCommandManager::failedExecution(false); void SHCommandManager::PerformCommand(BaseCommandPtr commandPtr, bool const& overrideValue) { - *pCurrRedoStack = CommandStack(defaultStackSize); commandPtr->Execute(); + if(failedExecution) + { + failedExecution = false; + return; + } + *pCurrRedoStack = CommandStack(defaultStackSize); if (overrideValue && !pCurrUndoStack->Empty()) { pCurrUndoStack->Top()->Merge(commandPtr); @@ -68,12 +74,14 @@ namespace SHADE void SHCommandManager::PopLatestCommandFromRedoStack() { - pCurrRedoStack->Pop(); + if(!pCurrRedoStack->Empty()) + pCurrRedoStack->Pop(); } void SHCommandManager::PopLatestCommandFromUndoStack() { - pCurrUndoStack->Pop(); + if(!pCurrUndoStack->Empty()) + pCurrUndoStack->Pop(); } void SHCommandManager::SwapStacks() diff --git a/SHADE_Engine/src/Editor/Command/SHCommandManager.h b/SHADE_Engine/src/Editor/Command/SHCommandManager.h index 178347b5..f3574030 100644 --- a/SHADE_Engine/src/Editor/Command/SHCommandManager.h +++ b/SHADE_Engine/src/Editor/Command/SHCommandManager.h @@ -38,7 +38,8 @@ namespace SHADE static void SwapStacks(); static void ClearAll(); - + + static bool failedExecution; static constexpr CommandStack::SizeType defaultStackSize = 100; private: static CommandStackPtr pCurrUndoStack; diff --git a/SHADE_Engine/src/Editor/EditorWindow/AssetBrowser/SHAssetBrowser.cpp b/SHADE_Engine/src/Editor/EditorWindow/AssetBrowser/SHAssetBrowser.cpp index 66b3c962..bd39b38e 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/AssetBrowser/SHAssetBrowser.cpp +++ b/SHADE_Engine/src/Editor/EditorWindow/AssetBrowser/SHAssetBrowser.cpp @@ -14,6 +14,8 @@ #include "Editor/DragDrop/SHDragDrop.hpp" #include "Editor/EditorWindow/MaterialInspector/SHMaterialInspector.h" #include "Editor/EditorWindow/SHEditorWindowManager.h" +#include "Scripting/SHVSUtilities.h" +#include "Scripting/SHScriptEngine.h" namespace SHADE { @@ -249,6 +251,12 @@ namespace SHADE matInspector->OpenMaterial(asset->id); } break; + case AssetType::SCRIPT: + if(auto scriptEngine = SHSystemManager::GetSystem()) + { + scriptEngine->OpenFile(asset->path); + } + break; case AssetType::MAX_COUNT: break; default:; } diff --git a/SHADE_Engine/src/Editor/EditorWindow/HierarchyPanel/SHHierarchyPanel.cpp b/SHADE_Engine/src/Editor/EditorWindow/HierarchyPanel/SHHierarchyPanel.cpp index 2235f831..6ac5933c 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/HierarchyPanel/SHHierarchyPanel.cpp +++ b/SHADE_Engine/src/Editor/EditorWindow/HierarchyPanel/SHHierarchyPanel.cpp @@ -84,34 +84,32 @@ namespace SHADE editor->selectedEntities.clear(); } ImGui::SeparatorEx(ImGuiSeparatorFlags_Horizontal); - if (ImGui::IsWindowFocused()) + + if (ImGui::IsKeyDown(ImGuiKey_LeftCtrl) && ImGui::IsKeyReleased(ImGuiKey_A)) { - if (ImGui::IsKeyDown(ImGuiKey_LeftCtrl) && ImGui::IsKeyReleased(ImGuiKey_A)) + SelectAllEntities(); + } + if (ImGui::IsKeyDown(ImGuiKey_LeftCtrl) && ImGui::IsKeyReleased(ImGuiKey_C)) + { + CopySelectedEntities(); + } + if (ImGui::IsKeyDown(ImGuiKey_LeftCtrl) && !ImGui::IsKeyDown(ImGuiKey_LeftShift) && ImGui::IsKeyReleased(ImGuiKey_V)) + { + PasteEntities(); + } + if (ImGui::IsKeyDown(ImGuiKey_LeftCtrl) && ImGui::IsKeyDown(ImGuiKey_LeftShift) && ImGui::IsKeyReleased(ImGuiKey_V)) + { + const auto editor = SHSystemManager::GetSystem(); + if (editor->selectedEntities.size() == 1) { - SelectAllEntities(); - } - if (ImGui::IsKeyDown(ImGuiKey_LeftCtrl) && ImGui::IsKeyReleased(ImGuiKey_C)) - { - CopySelectedEntities(); - } - if (ImGui::IsKeyDown(ImGuiKey_LeftCtrl) && !ImGui::IsKeyDown(ImGuiKey_LeftShift) && ImGui::IsKeyReleased(ImGuiKey_V)) - { - PasteEntities(); - } - if (ImGui::IsKeyDown(ImGuiKey_LeftCtrl) && ImGui::IsKeyDown(ImGuiKey_LeftShift) && ImGui::IsKeyReleased(ImGuiKey_V)) - { - const auto editor = SHSystemManager::GetSystem(); - if (editor->selectedEntities.size() == 1) - { - PasteEntities(editor->selectedEntities.back()); - } - } - if(ImGui::IsKeyReleased(ImGuiKey_Delete)) - { - DeleteSelectedEntities(); + PasteEntities(editor->selectedEntities.back()); } } - + if (ImGui::IsKeyReleased(ImGuiKey_Delete)) + { + DeleteSelectedEntities(); + } + } if(ImGui::IsWindowHovered() && !ImGui::IsAnyItemHovered() && ImGui::IsMouseReleased(ImGuiMouseButton_Left)) { diff --git a/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp index e4ec8d58..45964930 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp +++ b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp @@ -19,6 +19,9 @@ #include "Reflection/SHReflectionMetadata.h" #include "Resource/SHResourceManager.h" #include "Physics/Collision/SHCollisionTagMatrix.h" +#include "Serialization/SHSerializationHelper.hpp" +#include "Tools/Utilities/SHClipboardUtilities.h" +#include "SHInspectorCommands.h" namespace SHADE { template @@ -46,11 +49,12 @@ namespace SHADE if (ImGui::Selectable(std::format("{} Copy {}", ICON_MD_CONTENT_COPY, componentName.data()).data())) { - //SHClipboardUtil::WriteStringToClipboard(SHClipboardUtil::CFNAME::CFCOMPONENT, SHComponentToString(component)); + SHClipboardUtilities::WriteToClipboard(SHSerializationHelper::SerializeComponentToString(component->GetEID())); } if (ImGui::Selectable(std::format("{} Paste {}", ICON_MD_CONTENT_PASTE, componentName.data()).data())) { - //SHStringToComponent(component, SHClipboardUtil::ReadStringFromClipboard(SHClipboardUtil::CFNAME::CFCOMPONENT)); + //SHSerializationHelper::DeserializeComponentFromString(SHClipboardUtilities::GetDataFromClipboard(), component->GetEID()); + SHCommandManager::PerformCommand(std::reinterpret_pointer_cast( std::make_shared>(component->GetEID(), SHClipboardUtilities::GetDataFromClipboard()))); } if (ImGui::Selectable(std::format("{} Delete {}", ICON_MD_DELETE, componentName.data()).data())) { diff --git a/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHInspectorCommands.h b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHInspectorCommands.h new file mode 100644 index 00000000..72e2a2e3 --- /dev/null +++ b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHInspectorCommands.h @@ -0,0 +1,27 @@ +#pragma once +#include "Editor/Command/SHCommand.hpp" + +namespace SHADE +{ + template + class SHPasteComponentCommand final : SHBaseCommand + { + public: + struct Data + { + EntityID eid; + std::string oldComponentData; + std::string newComponentData; + }; + + SHPasteComponentCommand(EntityID eid, std::string const& newComponentData); + + void Execute() override; + void Undo() override; + + private: + Data data; + }; +} + +#include "SHInspectorCommands.hpp" \ No newline at end of file diff --git a/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHInspectorCommands.hpp b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHInspectorCommands.hpp new file mode 100644 index 00000000..da006218 --- /dev/null +++ b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHInspectorCommands.hpp @@ -0,0 +1,26 @@ +#pragma once +#include "SHInspectorCommands.h" + +namespace SHADE +{ + template + SHPasteComponentCommand::SHPasteComponentCommand(EntityID eid, std::string const& newComponentData) + :data(eid, {}, newComponentData) + { + data.oldComponentData = SHSerializationHelper::SerializeComponentToString(eid); + } + + template + void SHPasteComponentCommand::Execute() + { + bool result = SHSerializationHelper::DeserializeComponentFromString(data.newComponentData, data.eid); + if(!result) + SHCommandManager::failedExecution = true; + } + + template + void SHPasteComponentCommand::Undo() + { + SHSerializationHelper::DeserializeComponentFromString(data.oldComponentData, data.eid); + } +} \ No newline at end of file diff --git a/SHADE_Engine/src/Editor/EditorWindow/MaterialInspector/SHMaterialInspector.cpp b/SHADE_Engine/src/Editor/EditorWindow/MaterialInspector/SHMaterialInspector.cpp index 9dbb9542..537cfc55 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/MaterialInspector/SHMaterialInspector.cpp +++ b/SHADE_Engine/src/Editor/EditorWindow/MaterialInspector/SHMaterialInspector.cpp @@ -196,10 +196,12 @@ namespace SHADE if (!fragShader) return; + auto const& mappings = SHGraphicsPredefinedData::GetMappings(SHGraphicsPredefinedData::SystemType::BATCHING); + // Get interface for the shader combination auto interface = fragShader->GetReflectedData().GetDescriptorBindingInfo().GetShaderBlockInterface ( - SHGraphicsConstants::DescriptorSetIndex::PER_INSTANCE, + mappings.at(SHPredefinedDescriptorTypes::MATERIALS), SHGraphicsConstants::DescriptorSetBindings::BATCHED_PER_INST_DATA ); if (!interface) diff --git a/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp b/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp index a1335e19..5014dbdd 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp +++ b/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp @@ -81,126 +81,18 @@ namespace SHADE if (ImGui::BeginMainMenuBar()) { - if (ImGui::BeginMenu("File")) - { - if(ImGui::Selectable("New Scene")) - { - SHSystemManager::GetSystem()->NewScene(); - } - if(ImGui::Selectable("Save")) - { - SHSystemManager::GetSystem()->SaveScene(); - } - if(ImGui::Selectable("Load")) - { - //SHSystemManager::GetSystem()->LoadScene() - } - ImGui::EndMenu(); - } - if(ImGui::BeginMenu("Edit")) - { - ImGui::BeginDisabled(!SHCommandManager::GetUndoStackSize()); - if(ImGui::Button(std::format("{} Undo", ICON_MD_UNDO).data())) - { - SHCommandManager::UndoCommand(); - } - ImGui::EndDisabled(); - ImGui::BeginDisabled(!SHCommandManager::GetRedoStackSize()); - if(ImGui::Button(std::format("{} Redo", ICON_MD_REDO).data())) - { - SHCommandManager::RedoCommand(); - } - ImGui::EndDisabled(); - ImGui::EndMenu(); - } - if (ImGui::BeginMenu("Scripts")) - { - if (ImGui::Selectable("Generate Visual Studio Project")) - { - auto* scriptEngine = static_cast(SHSystemManager::GetSystem()); - scriptEngine->GenerateScriptsCsProjFile(); - } - ImGui::BeginDisabled(SHSystemManager::GetSystem()->editorState != SHEditor::State::STOP); - if (ImGui::Selectable("Build Scripts - Debug")) - { - auto* scriptEngine = static_cast(SHSystemManager::GetSystem()); - SHSerialization::SerializeSceneToFile(SHSceneManager::GetCurrentSceneAssetID()); - scriptEngine->BuildScriptAssembly(true, true); - SHSceneManager::RestartScene(SHSceneManager::GetCurrentSceneAssetID()); - } - if (ImGui::Selectable("Build Scripts - Release")) - { - auto* scriptEngine = static_cast(SHSystemManager::GetSystem()); - SHSerialization::SerializeSceneToFile(SHSceneManager::GetCurrentSceneAssetID()); - scriptEngine->BuildScriptAssembly(false, true); - SHSceneManager::RestartScene(SHSceneManager::GetCurrentSceneAssetID()); - } - ImGui::EndDisabled(); - ImGui::EndMenu(); - } + DrawFileMenu(); + DrawEditMenu(); + DrawScriptsMenu(); + DrawWindowMenu(); + DrawThemeMenu(); + DrawLayoutMenu(); + DrawApplicationConfig(); - if (ImGui::BeginMenu("Window")) - { - for (const auto& window : SHEditorWindowManager::editorWindows | std::views::values) - { - if (window.get() != this) - ImGui::Checkbox(window->windowName.data(), &window->isOpen); - } - ImGui::EndMenu(); - } - if (ImGui::BeginMenu("Theme")) - { - const auto styles = rttr::type::get().get_enumeration(); - auto values = styles.get_values(); - for (auto style : values) - { - if (ImGui::Selectable(style.to_string().c_str())) - { - if (auto editor = SHSystemManager::GetSystem()) - editor->SetStyle(style.convert()); - } - } - ImGui::EndMenu(); - } - if(ImGui::BeginMenu("Layout")) - { - for(auto const& entry : layoutPaths) - { - if(ImGui::Selectable(entry.stem().string().c_str())) - { - ImGui::LoadIniSettingsFromDisk(entry.string().c_str()); - } - } - ImGui::EndMenu(); - } - - if (ImGui::BeginMenu("Application Config")) - { - auto& appConfig = SHConfigurationManager::applicationConfig; - ImGui::InputText("Window Title", &appConfig.windowTitle); - ImGui::Checkbox("Start in Fullscreen", &appConfig.startInFullScreen); - SHEditorWidgets::DragN("Window Size", { "Width", "Height" }, { &appConfig.windowSize.x, &appConfig.windowSize.y }); - //ImGui::InputScalar("Starting Scene", ImGuiDataType_U32, &appConfig.startingSceneID); - auto sceneAsset = SHAssetManager::GetData(appConfig.startingSceneID); - - if(ImGui::BeginCombo("Starting Scne", sceneAsset ? sceneAsset->name.data() : "")) - { - auto scenes = SHAssetManager::GetAllRecordOfType(AssetType::SCENE); - for(auto const& scene : scenes) - { - if(ImGui::Selectable(scene.name.data())) - { - appConfig.startingSceneID = scene.id; - } - } - ImGui::EndCombo(); - } - if (ImGui::Button("Save")) - { - SHConfigurationManager::SaveApplicationConfig(); - } - ImGui::EndMenu(); - } + std::string const sceneName{std::format("Current Scene: {}",SHSceneManager::GetSceneName().data())}; + auto const size = ImGui::CalcTextSize(sceneName.data()); + ImGui::SetCursorPosX(ImGui::GetWindowWidth() - size.x - ImGui::GetStyle().FramePadding.x); + ImGui::Text("%s", sceneName.data()); ImGui::EndMainMenuBar(); } @@ -267,4 +159,148 @@ namespace SHADE ImGui::PopStyleVar(3); } + void SHEditorMenuBar::DrawFileMenu() noexcept + { + if (ImGui::BeginMenu("File")) + { + if (ImGui::Selectable("New Scene")) + { + SHSystemManager::GetSystem()->NewScene(); + } + if (ImGui::Selectable("Save")) + { + SHSystemManager::GetSystem()->SaveScene(); + } + if (ImGui::Selectable("Load")) + { + //SHSystemManager::GetSystem()->LoadScene() + } + ImGui::EndMenu(); + } + } + void SHEditorMenuBar::DrawEditMenu() noexcept + { + if (ImGui::BeginMenu("Edit")) + { + ImGui::BeginDisabled(!SHCommandManager::GetUndoStackSize()); + if (ImGui::Button(std::format("{} Undo", ICON_MD_UNDO).data())) + { + SHCommandManager::UndoCommand(); + } + ImGui::EndDisabled(); + ImGui::BeginDisabled(!SHCommandManager::GetRedoStackSize()); + if (ImGui::Button(std::format("{} Redo", ICON_MD_REDO).data())) + { + SHCommandManager::RedoCommand(); + } + ImGui::EndDisabled(); + ImGui::EndMenu(); + } + } + void SHEditorMenuBar::DrawScriptsMenu() noexcept + { + if (ImGui::BeginMenu("Scripts")) + { + if (ImGui::Selectable("Generate Visual Studio Project")) + { + auto* scriptEngine = static_cast(SHSystemManager::GetSystem()); + scriptEngine->GenerateScriptsCsProjFile(); + } + if (ImGui::Selectable("Open Visual Studio Project")) + { + auto* scriptEngine = static_cast(SHSystemManager::GetSystem()); + scriptEngine->OpenSolution(); + } + ImGui::BeginDisabled(SHSystemManager::GetSystem()->editorState != SHEditor::State::STOP); + if (ImGui::Selectable("Build Scripts - Debug")) + { + auto* scriptEngine = static_cast(SHSystemManager::GetSystem()); + SHSerialization::SerializeSceneToFile(SHSceneManager::GetCurrentSceneAssetID()); + scriptEngine->BuildScriptAssembly(true, true); + SHSceneManager::RestartScene(SHSceneManager::GetCurrentSceneAssetID()); + } + if (ImGui::Selectable("Build Scripts - Release")) + { + auto* scriptEngine = static_cast(SHSystemManager::GetSystem()); + SHSerialization::SerializeSceneToFile(SHSceneManager::GetCurrentSceneAssetID()); + scriptEngine->BuildScriptAssembly(false, true); + SHSceneManager::RestartScene(SHSceneManager::GetCurrentSceneAssetID()); + } + ImGui::EndDisabled(); + ImGui::EndMenu(); + } + } + void SHEditorMenuBar::DrawWindowMenu() noexcept + { + if (ImGui::BeginMenu("Window")) + { + for (const auto& window : SHEditorWindowManager::editorWindows | std::views::values) + { + if (window.get() != this) + ImGui::Checkbox(window->windowName.data(), &window->isOpen); + } + ImGui::EndMenu(); + } + } + void SHEditorMenuBar::DrawThemeMenu() noexcept + { + if (ImGui::BeginMenu("Theme")) + { + const auto styles = rttr::type::get().get_enumeration(); + auto values = styles.get_values(); + for (auto style : values) + { + if (ImGui::Selectable(style.to_string().c_str())) + { + if (auto editor = SHSystemManager::GetSystem()) + editor->SetStyle(style.convert()); + } + } + ImGui::EndMenu(); + } + } + void SHEditorMenuBar::DrawLayoutMenu() noexcept + { + if (ImGui::BeginMenu("Layout")) + { + for (auto const& entry : layoutPaths) + { + if (ImGui::Selectable(entry.stem().string().c_str())) + { + ImGui::LoadIniSettingsFromDisk(entry.string().c_str()); + } + } + ImGui::EndMenu(); + } + } + void SHEditorMenuBar::DrawApplicationConfig() noexcept + { + if (ImGui::BeginMenu("Application Config")) + { + auto& appConfig = SHConfigurationManager::applicationConfig; + ImGui::InputText("Window Title", &appConfig.windowTitle); + ImGui::Checkbox("Start in Fullscreen", &appConfig.startInFullScreen); + SHEditorWidgets::DragN("Window Size", { "Width", "Height" }, { &appConfig.windowSize.x, &appConfig.windowSize.y }); + //ImGui::InputScalar("Starting Scene", ImGuiDataType_U32, &appConfig.startingSceneID); + auto sceneAsset = SHAssetManager::GetData(appConfig.startingSceneID); + + if (ImGui::BeginCombo("Starting Scene", sceneAsset ? sceneAsset->name.data() : "")) + { + auto scenes = SHAssetManager::GetAllRecordOfType(AssetType::SCENE); + for (auto const& scene : scenes) + { + if (ImGui::Selectable(scene.name.data())) + { + appConfig.startingSceneID = scene.id; + } + } + ImGui::EndCombo(); + } + if (ImGui::Button("Save")) + { + SHConfigurationManager::SaveApplicationConfig(); + } + ImGui::EndMenu(); + } + } }//namespace SHADE diff --git a/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.h b/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.h index e4f1d20b..77ebcf55 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.h +++ b/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.h @@ -17,6 +17,15 @@ namespace SHADE void DrawMainMenuBar() noexcept; void DrawSecondaryBar() const noexcept; void DrawStatusBar() const noexcept; + + void DrawFileMenu() noexcept; + void DrawEditMenu() noexcept; + void DrawScriptsMenu() noexcept; + void DrawWindowMenu() noexcept; + void DrawThemeMenu() noexcept; + void DrawLayoutMenu() noexcept; + void DrawApplicationConfig() noexcept; + float menuBarHeight = 20.0f; std::vector layoutPaths; };//class SHEditorMenuBar diff --git a/SHADE_Engine/src/Editor/SHEditor.cpp b/SHADE_Engine/src/Editor/SHEditor.cpp index 6466533f..2b8ddbb5 100644 --- a/SHADE_Engine/src/Editor/SHEditor.cpp +++ b/SHADE_Engine/src/Editor/SHEditor.cpp @@ -93,6 +93,8 @@ namespace SHADE SHLOG_CRITICAL("Failed to create ImGui Context") } } + + editorConfig = &SHConfigurationManager::LoadEditorConfig(); //Add editor windows SHEditorWindowManager::CreateEditorWindow(); @@ -122,7 +124,7 @@ namespace SHADE InitBackend(); - SetStyle(Style::SHADE); + SetStyle(static_cast