1
This commit is contained in:
@@ -12,12 +12,27 @@ namespace BITKit
|
||||
HalfOpen,
|
||||
Locked,
|
||||
}
|
||||
public Transform root;
|
||||
public Vector3 openEuler;
|
||||
public Vector3 closeEuler;
|
||||
public State state;
|
||||
|
||||
[SerializeField] private bool allowPhysics = true;
|
||||
[SerializeField] private Rigidbody root;
|
||||
[SerializeField] private Vector3 openEuler;
|
||||
[SerializeField] private Vector3 closeEuler;
|
||||
[SerializeField] private State state;
|
||||
[SerializeField] private Collider[] ignoreColliders;
|
||||
private void Start()
|
||||
{
|
||||
var selfColliders = GetComponentsInChildren<Collider>(true);
|
||||
var parentCollider = GetComponentInParent<Collider>(true);
|
||||
foreach (var self in selfColliders)
|
||||
{
|
||||
foreach (var ignore in ignoreColliders)
|
||||
{
|
||||
Physics.IgnoreCollision(self, ignore, true);
|
||||
}
|
||||
|
||||
if (parentCollider is not null)
|
||||
Physics.IgnoreCollision(self, parentCollider, true);
|
||||
}
|
||||
Set();
|
||||
}
|
||||
public void Execute()
|
||||
@@ -34,11 +49,15 @@ namespace BITKit
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void Set(bool isClosed)
|
||||
{
|
||||
state = isClosed ? State.Close : State.Open;
|
||||
root.localEulerAngles = isClosed ? closeEuler : openEuler;
|
||||
root.transform.localEulerAngles = isClosed ? closeEuler : openEuler;
|
||||
if (allowPhysics)
|
||||
root.isKinematic = isClosed;
|
||||
}
|
||||
|
||||
private void Set()
|
||||
{
|
||||
var isClosed = state switch
|
||||
|
Reference in New Issue
Block a user