void Snap() { if (snapPermanently && rigidbody != null) { rigidbody.isKinematic = true; //DestroyImmediate(rigidbody); } if (snapPosition != target.position) { snapPosition = Com.Round(target.position, unitsPerPixel); } if (snapRotation != target.rotation) { Vector3 snapRotationEuler = target.rotation.eulerAngles; snapRotationEuler.z = Com.Round(snapRotationEuler.z, 90f); snapRotation = Quaternion.Euler(snapRotationEuler); } transform.position = snapPosition; transform.rotation = snapRotation; if (snapPermanently) { if (corpseOnSnap) { CorpseManager.CreateCorpse(gameObject); } //Destroy(this); } }
void Timeout() { switch (onTimeout) { case OnTimeout.Destroy: ObjectManager.Destroy(gameObject); break; case OnTimeout.Disable: gameObject.SetActive(false); break; case OnTimeout.Corpse: CorpseManager.CreateCorpse(gameObject); break; } }