void RayCastCamera()
    {
        RaycastHit hit;
        Ray        ray = camera.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit, 20.0f))
        {
            //Debug.Log(hit.collider.tag);
            switch (hit.collider.tag)
            {
            case "Door":

                LatchOpenDoor latch = hit.collider.GetComponentInParent <LatchOpenDoor>();
                if (latch.open != true)
                {
                    prompt     = pressKeyToOpen;
                    showPrompt = true;
                    if (Input.GetKeyDown(KeyCode.E))
                    {
                        showPrompt = false;
                        latch.OpenDoor();
                        //Debug.Log(hit.collider.gameObject.GetComponent<TeleportPlayer>());
                        if (hit.collider.gameObject.GetComponent <TeleportPlayer>() != null)
                        {
                            TeleportPlayer teleport = hit.collider.GetComponent <TeleportPlayer>();
                            teleport.TeleportPlayerTo();
                        }
                    }
                }
                else
                {
                    showPrompt = false;
                }
                break;

            case "Battery":
                prompt     = pressKeyToBattery;
                showPrompt = true;
                if (Input.GetKeyDown(KeyCode.E))
                {
                    battery.batteryLife += 5;
                    Destroy(hit.collider.gameObject);
                }
                break;

            case "Toy":
                prompt     = pressToPickup;
                showPrompt = true;
                if (Input.GetKeyDown(KeyCode.E))
                {
                    level.ToysCollected++;
                    Destroy(hit.collider.gameObject);
                }
                break;
            }


            //Debug.DrawRay(ray.origin, ray.direction*20, Color.red);
        }
    }
 void OnTriggerEnter(Collider collider)
 {
     if (collider.gameObject != player)
     {
         return;
     }
     currentTeleporter = this;
 }
 void OnTriggerExit(Collider collider)
 {
     if (collider.gameObject != player)
     {
         return;
     }
     if (currentTeleporter == this)
     {
         currentTeleporter = null;
     }
 }
Example #4
0
 // Start is called before the first frame update
 void Start()
 {
     m_TeleportPlayer = GetComponent <TeleportPlayer>();
     m_TypeBullets    = GameObject.FindGameObjectsWithTag("Proyectil");
     OrderBullet(m_WhatIsTouchT, k_typeBullet, k_dmgNBullet, k_Speed, k_LifeTime, false);
 }
 public static void removeTeleportListener(TeleportPlayer method)
 {
     teleportPlayer -= method;
 }
 //teleport
 public static void addTeleportListener(TeleportPlayer method)
 {
     teleportPlayer += method;
 }
Example #7
0
 public static void KillPlayer(TeleportPlayer player)
 {
     Destroy(player.gameObject);
     gm.StartCoroutine(gm.RespawnPlayer()); //Has to call the method like this if its an IEnumerator method
 }
 // Start is called before the first frame update
 void Start()
 {
     aiFollower = GetComponent <NavMeshAgent>();
     player     = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController>();
     teleport   = GameObject.Find("Player_Sender").GetComponent <TeleportPlayer>();
 }
 private void Awake()
 {
     Instance    = this;
     gameManager = Gamestate.Instance;
     SaveLoadManager.LoadGameState(gameManager);
 }
Example #10
0
 private void Update()
 {
     teleportinstance = GameObject.Find("SpawnPoints").GetComponent <TeleportPlayer>();
 }