Пример #1
0
    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);
        }
    }
Пример #2
0
    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;
        }
    }