Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (chara.currentHealth <= 0)
        {
            chara.EnableRagdoll();

            StartCoroutine(DeathWait());
            //kill the enemy and drop the key

            //if (Input.GetKeyDown ("f"))
            //{
            //InventoKill.Refrence.KilledEnemies += 1;
            //if (Key) {
            //drop the key
            //Key.gameObject.SetActive (true);
            //}
            //kill the enemy
            //InventoKill.Refrence.KilledEnemies = 1;
            //Destroy(gameObject);

            //}
        }
    }
Ejemplo n.º 2
0
        // active ragdoll - call this method to turn the ragdoll on
        public void ActivateRagdoll()
        {
            if (isActive)
            {
                return;
            }

            inApplyDamage = true;
            isActive      = true;

            if (transform.parent != null)
            {
                transform.parent = null;
            }


            Vector3 velocity = GetComponent <Rigidbody>().velocity;//Это добавил я. Это нужно для того чтобы по переходу в состояние регдолла, персонаж сохранял скорость

            iChar.EnableRagdoll();

            var isDead = !(iChar.currentHealth > 0);

            // turn ragdoll on
            inStabilize = true;
            ragdolled   = true;

            ApplyVelocityToRagdoll(velocity);//Это добавил я. Это нужно для того чтобы по переходу в состояние регдолла, персонаж сохранял скорость

            // start to check if the ragdoll is stable
            StartCoroutine(RagdollStabilizer(2f));

            if (!isDead)
            {
                characterHips.parent = null;
            }
            Invoke("ResetDamage", 0.2f);
        }