Skip to content

Commit d6b43e1

Browse files
committed
Fixed duplicate layer clearing from merge. Also setup physics for stencil layers
1 parent 4a76fc2 commit d6b43e1

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

Runtime/Code/ProjectSetup/Editor/SetupManager.cs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,28 @@
33
using UnityEditor;
44

55
[InitializeOnLoad]
6-
public class SetupManager : AssetPostprocessor{
7-
private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths){
6+
public class SetupManager : AssetPostprocessor {
7+
private static void OnPostprocessAllAssets(
8+
string[] importedAssets,
9+
string[] deletedAssets,
10+
string[] movedAssets,
11+
string[] movedFromAssetPaths) {
812
if (!SessionState.GetBool("FirstAirshipSettingsInitDone", false)) {
913
// Startup code here
1014
FixProject();
11-
15+
1216
SessionState.SetBool("FirstAirshipSettingsInitDone", true);
1317
}
1418
}
15-
19+
1620
[MenuItem("Airship/Misc/Repair Project")]
17-
public static void FixProject()
18-
{
21+
public static void FixProject() {
1922
var config = MiscProjectSetup.Setup();
2023
PhysicsSetup.Setup(config);
2124
}
2225

2326
[MenuItem("Airship/Misc/Reset Physics To Airship Defaults")]
24-
public static void ResetPhysics()
25-
{
27+
public static void ResetPhysics() {
2628
var config = MiscProjectSetup.GetOrCreateGameConfig();
2729
PhysicsSetup.ResetDefaults(config, PhysicsSetup.defaultGravity);
2830
}

Runtime/Code/ProjectSetup/PhysicsSetup.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
public static class PhysicsSetup {
55
public static readonly Vector3 defaultGravity = new(0, -9.81f, 0);
6-
private const int NumberOfCoreLayers = 12;
6+
private const int NumberOfCoreLayers = 13;
77
private const int GameLayerStartIndex = 17;
88
private static List<int> corelayers;
99
private static List<int> gameLayers;
@@ -33,12 +33,6 @@ public static void Setup(GameConfig config) {
3333
PhysicsLayerEditor.SetLayer(10, "AvatarEditor");
3434
PhysicsLayerEditor.SetLayer(11, "LocalStencilMask");
3535
PhysicsLayerEditor.SetLayer(12, "StencilMask");
36-
var lastCoreLayerNumber = 12; // Update this if we add more layers
37-
38-
// Clear all unused layers reserved for Airship core
39-
for (var i = lastCoreLayerNumber + 1; i <= 16; i++) {
40-
PhysicsLayerEditor.SetLayer(i, "");
41-
}
4236

4337
//Reserved for future use
4438
for (var i = NumberOfCoreLayers; i < GameLayerStartIndex; i++) {
@@ -58,13 +52,24 @@ public static void Setup(GameConfig config) {
5852
IgnoreAllLayers(LayerMask.NameToLayer("WorldUI"), true);
5953
//Only collide with game layers
6054
IgnoreAllLayers(LayerMask.NameToLayer("Character"), false);
55+
IgnoreAllLayers(LayerMask.NameToLayer("LocalStencilMask"), false);
56+
IgnoreAllLayers(LayerMask.NameToLayer("StencilMask"), false);
6157

6258
//Character
6359
//Collides with
6460
Physics.IgnoreLayerCollision(LayerMask.NameToLayer("Character"), LayerMask.NameToLayer("Default"), false);
6561
Physics.IgnoreLayerCollision(LayerMask.NameToLayer("Character"), LayerMask.NameToLayer("VisuallyHidden"),
6662
false);
6763
Physics.IgnoreLayerCollision(LayerMask.NameToLayer("Character"), LayerMask.NameToLayer("Water"), false);
64+
Physics.IgnoreLayerCollision(LayerMask.NameToLayer("LocalStencilMask"), LayerMask.NameToLayer("Default"),
65+
false);
66+
Physics.IgnoreLayerCollision(LayerMask.NameToLayer("LocalStencilMask"), LayerMask.NameToLayer("VisuallyHidden"),
67+
false);
68+
Physics.IgnoreLayerCollision(LayerMask.NameToLayer("LocalStencilMask"), LayerMask.NameToLayer("Water"), false);
69+
Physics.IgnoreLayerCollision(LayerMask.NameToLayer("StencilMask"), LayerMask.NameToLayer("Default"), false);
70+
Physics.IgnoreLayerCollision(LayerMask.NameToLayer("StencilMask"), LayerMask.NameToLayer("VisuallyHidden"),
71+
false);
72+
Physics.IgnoreLayerCollision(LayerMask.NameToLayer("StencilMask"), LayerMask.NameToLayer("Water"), false);
6873
}
6974

7075

0 commit comments

Comments
 (0)