This commit is contained in:
CortexCore
2023-10-24 23:38:22 +08:00
parent 2c4710bc5d
commit bd40165ade
152 changed files with 3681 additions and 1531 deletions

View File

@@ -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