Files
HauntedBloodlines/Assets/Obi/Scripts/Common/Collisions/ObiRigidbodyBase.cs
2025-05-29 22:31:40 +03:00

42 lines
885 B
C#

using UnityEngine;
using Unity.Profiling;
using System;
using System.Collections;
namespace Obi{
/**
* Small helper class that lets you specify Obi-only properties for rigidbodies.
*/
[ExecuteInEditMode]
public abstract class ObiRigidbodyBase : MonoBehaviour
{
public bool kinematicForParticles = false;
public ObiRigidbodyHandle handle;
public virtual void OnEnable()
{
handle = ObiColliderWorld.GetInstance().CreateRigidbody();
handle.owner = this;
UpdateIfNeeded(1);
}
public void OnDisable()
{
ObiColliderWorld.GetInstance().DestroyRigidbody(handle);
}
public abstract void UpdateIfNeeded(float stepTime);
/**
* Reads velocities back from the solver.
*/
public abstract void UpdateVelocities(Vector3 linearDelta, Vector3 angularDelta);
}
}