42 lines
885 B
C#
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);
|
|
|
|
}
|
|
}
|
|
|