new-horizons/NewHorizons/Builder/General/RigidBodyBuilder.cs
Noah Pilarski 883e5669f6 Stop setting centerOfMass for kinematic rigidbody
Setting it does nothing except spam the log.
2022-06-03 03:02:06 -04:00

38 lines
1.4 KiB
C#

using NewHorizons.External.Configs;
using NewHorizons.Utility;
using UnityEngine;
namespace NewHorizons.Builder.General
{
public static class RigidBodyBuilder
{
public static OWRigidbody Make(GameObject body, PlanetConfig config)
{
body.AddComponent<ProxyShadowCasterSuperGroup>();
Rigidbody rigidBody = body.AddComponent<Rigidbody>();
rigidBody.mass = 10000;
rigidBody.drag = 0f;
rigidBody.angularDrag = 0f;
rigidBody.useGravity = false;
rigidBody.isKinematic = true;
rigidBody.interpolation = RigidbodyInterpolation.None;
rigidBody.collisionDetectionMode = CollisionDetectionMode.Discrete;
KinematicRigidbody kinematicRigidBody = body.AddComponent<KinematicRigidbody>();
OWRigidbody owRigidBody = body.AddComponent<OWRigidbody>();
owRigidBody._kinematicSimulation = true;
owRigidBody._autoGenerateCenterOfMass = true;
owRigidBody.SetIsTargetable(true);
owRigidBody._maintainOriginalCenterOfMass = true;
owRigidBody._rigidbody = rigidBody;
owRigidBody._kinematicRigidbody = kinematicRigidBody;
owRigidBody._origParent = SearchUtilities.Find("SolarSystemRoot").transform;
owRigidBody.EnableKinematicSimulation();
owRigidBody.MakeKinematic();
return owRigidBody;
}
}
}