Beispiel #1
0
 private void OnTriggerExit(Collider other)
 {
     if (other.gameObject.tag == "Enemy" && other.GetType() == typeof(CapsuleCollider))
     {
         eController = (EnemyAIController)other.gameObject.GetComponent(typeof(EnemyAIController));
         eController.editFloorValue(-1);
     }
     else if (other.gameObject.tag == "Player" && other.gameObject.tag != "Ragdoll")
     {
         pController.editFloorValue(-1);
         foreach (MeshRenderer mesh in renderers)
         {
             mesh.enabled = true;
         }
     }
     else if (other.gameObject.name == "ChestP")
     {
         GameObject pRagdoll = GameObject.FindWithTag("PlayerRagdoll");
         prController = (PlayerRagdollHandler)pRagdoll.gameObject.GetComponent(typeof(PlayerRagdollHandler));
         prController.editFloorValue(-1);
         foreach (MeshRenderer mesh in renderers)
         {
             mesh.enabled = false;
         }
     }
     else if (other.gameObject.name == "PelvisE")
     {
         GameObject parent1 = other.transform.parent.gameObject;
         GameObject parent2 = parent1.transform.parent.gameObject;
         erController = (RagdollHandler)parent2.gameObject.GetComponent(typeof(RagdollHandler));
         erController.editFloorValue(-1);
     }
 }
    // Update is called once per frame
    void Update()
    {
        //dies
        if (health <= 0 && alive)
        {
            WinLoseScript wlScript = (WinLoseScript)winLose.GetComponent(typeof(WinLoseScript));
            wlScript.Lose();
            alive = false;
            health--;
            AimTowardMouse aimer   = (AimTowardMouse)GetComponent(typeof(AimTowardMouse));
            MovePlayer     mover   = (MovePlayer)GetComponent(typeof(MovePlayer));
            Shoot          shooter = (Shoot)bulletEmitter.GetComponent(typeof(Shoot));
            aimer.kill();
            mover.kill();
            shooter.kill();


            GameObject           tempRD   = Instantiate(ragdoll, transform.position, transform.rotation);
            PlayerRagdollHandler rHandler = (PlayerRagdollHandler)tempRD.GetComponent(typeof(PlayerRagdollHandler));
            rHandler.pushRagdoll(pushValue);
            Destroy(gameObject);
        }
    }
Beispiel #3
0
    void Update()
    {
        int pFloorValue = 0;

        //finds proper player gameobject
        if (GameObject.FindWithTag("Player") != null)
        {
            GameObject       player      = GameObject.FindWithTag("Player");
            PlayerController pController = (PlayerController)player.GetComponent(typeof(PlayerController));
            pFloorValue = pController.floorValue;
        }
        else if (GameObject.FindWithTag("PlayerRagdoll") != null)
        {
            GameObject           player      = GameObject.FindWithTag("PlayerRagdoll");
            PlayerRagdollHandler pController = (PlayerRagdollHandler)player.GetComponent(typeof(PlayerRagdollHandler));
            pFloorValue = pController.floorValue;
            //Debug.Log("Player ragdoll floorValue: " + pFloorValue);
        }


        //hides enemies based on floor values
        foreach (GameObject enemy in enemyList)
        {
            if (enemy != null)
            {
                int eFloorValue = 0;
                //finds proper enemy controller script
                if (enemy.tag == "Enemy")
                {
                    EnemyAIController controller = (EnemyAIController)enemy.GetComponent(typeof(EnemyAIController));
                    if (controller != null)
                    {
                        eFloorValue = controller.floorValue;
                    }
                }
                else if (enemy.tag == "EnemyRagdoll")
                {
                    RagdollHandler controller = (RagdollHandler)enemy.GetComponent(typeof(RagdollHandler));
                    if (controller != null)
                    {
                        eFloorValue = controller.floorValue;
                    }
                }
                //hides enemies based on floor values
                if (eFloorValue > 0 && eFloorValue < pFloorValue)
                {
                    foreach (Transform child in enemy.transform)
                    {
                        if (child.gameObject.name == "Body")
                        {
                            child.gameObject.GetComponent <SkinnedMeshRenderer> ().enabled = false;
                        }
                        if (child.gameObject.name == "Gun")
                        {
                            child.gameObject.GetComponent <MeshRenderer> ().enabled = false;
                        }
                        if (child.gameObject.name == "Cube")
                        {
                            child.gameObject.GetComponent <SkinnedMeshRenderer>().enabled = false;
                        }
                    }
                }
                else
                {
                    foreach (Transform child in enemy.transform)
                    {
                        if (child.gameObject.name == "Body")
                        {
                            child.gameObject.GetComponent <SkinnedMeshRenderer> ().enabled = true;
                        }
                        if (child.gameObject.name == "Gun")
                        {
                            child.gameObject.GetComponent <MeshRenderer> ().enabled = true;
                        }
                        if (child.gameObject.name == "Cube")
                        {
                            child.gameObject.GetComponent <SkinnedMeshRenderer>().enabled = true;
                        }
                    }
                }
            }
        }
    }