Fix meteor collisions

This commit is contained in:
Nick 2022-08-21 17:40:37 -04:00
parent 647baf556f
commit f759325a03

View File

@ -45,6 +45,7 @@ namespace NewHorizons.Builder.Props
} }
}); });
} }
private static void FixMeteor(MeteorController meteor, PropModule.VolcanoInfo info) private static void FixMeteor(MeteorController meteor, PropModule.VolcanoInfo info)
{ {
meteor.transform.localScale = Vector3.one * info.scale; meteor.transform.localScale = Vector3.one * info.scale;
@ -53,24 +54,16 @@ namespace NewHorizons.Builder.Props
mat.SetColor(Color1, info.stoneTint?.ToColor() ?? defaultStoneTint); mat.SetColor(Color1, info.stoneTint?.ToColor() ?? defaultStoneTint);
mat.SetColor(EmissionColor, info.lavaTint?.ToColor() ?? defaultLavaTint); mat.SetColor(EmissionColor, info.lavaTint?.ToColor() ?? defaultLavaTint);
var detectors = meteor.transform.Find("ConstantDetectors").gameObject; GameObject.Destroy(meteor.transform.Find("ConstantDetectors").gameObject);
GameObject.Destroy(detectors.GetComponent<ConstantForceDetector>());
GameObject.Destroy(detectors.GetComponent<ConstantFluidDetector>()); var detectors = meteor.transform.Find("DynamicDetector").gameObject;
meteor._constantFluidDetector = null;
meteor._constantForceDetector = null;
var forceDetector = detectors.gameObject.AddComponent<DynamicForceDetector>(); var forceDetector = detectors.gameObject.AddComponent<DynamicForceDetector>();
detectors.gameObject.AddComponent<DynamicFluidDetector>();
detectors.layer = LayerMask.NameToLayer("BasicDetector"); meteor._owColliders = meteor.gameObject.GetComponentsInChildren<OWCollider>();
var sphere = detectors.AddComponent<SphereCollider>();
sphere.radius = 1;
var sphere2 = detectors.AddComponent<SphereShape>();
sphere2._collisionMode = Shape.CollisionMode.Detector;
sphere2.radius = 1;
forceDetector._collider = sphere;
forceDetector._shape = sphere2;
} }
} }
} }