//para lograr que choquen contra las paredes private void OnTriggerEnter2D(Collider2D other) { //obtiene referencias plat = other.GetComponent <Plataformas>(); player = other.GetComponent <PlayerMovement>(); caja = other.GetComponent <Empujar>(); if (plat != null) //si lo que entra es una plataforma { plat.SendMessage("EndingReached", esOrigen); //Debug.Log("other: " + other.name); } if (player != null || caja != null) //si choca le quita el padre //Debug.Log("señor pared inc"); { other.transform.parent = null; if (player != null) { DontDestroyOnLoad(GameManager.instance.player); GameManager.instance.player.transform.position = new Vector3(GameManager.instance.player.transform.position.x, GameManager.instance.player.transform.position.y, -1.1f); } } }
public void OnTriggerEnter2D(Collider2D other) { //obtiene referencias del objeto que entra player = other.GetComponent <PlayerMovement>(); caja = other.GetComponent <Empujar>(); //si no es null --> es player o caja if (player != null) { other.transform.parent = transform; //hacer que el jugador pueda no morir por la deathzone if (player.killable) { player.killable = false; } else { player.killableAux = false; } } if (caja != null) { other.transform.parent = transform; other.GetComponent <Recolocar>().relocatable = false; } }
void OnTriggerExit2D(Collider2D other) { caja = other.gameObject.GetComponent <Empujar>(); if (caja != null) //ya que se desactiva saliendo algo empujable { if (sonido != null) { sonido.Play(); } Debug.Log("Placa despresionada"); for (int i = 0; i < targets.Length; i++) { targets[i].SendMessage("Desactivate", SendMessageOptions.DontRequireReceiver); //envia mensajes de desactivación } } }
void OnTriggerEnter2D(Collider2D other) { Debug.Log("Placa kk"); caja = other.gameObject.GetComponent <Empujar>(); if (caja != null) //ya que se activa poniendo algo empujable, no el jugador, etc { if (sonido != null) { sonido.Play(); } Debug.Log("Placa presionada"); for (int i = 0; i < targets.Length; i++) //recorre el array { targets[i].SendMessage("Activate", SendMessageOptions.DontRequireReceiver); //envia mensajes de activación if (targets[i].GetComponent <CambioSala>()) { targets[i].SendMessage("Desbloquear", SendMessageOptions.DontRequireReceiver); } } } }
public void OnTriggerExit2D(Collider2D other) { player = other.GetComponent <PlayerMovement>(); caja = other.GetComponent <Empujar>(); if (player != null) { //primero comprueba que no te habias chocado con la pared if (player.GetComponentInParent <Plataformas>() == null) { GameManager.instance.takeDamage(GameManager.instance.VidaInicial); //instaKill } if (player.killableAux) { other.transform.parent = null; DontDestroyOnLoad(GameManager.instance.player); GameManager.instance.player.transform.position = new Vector3(GameManager.instance.player.transform.position.x, GameManager.instance.player.transform.position.y, -1.1f); } //hacer que el jugador pueda morir por la deathzone if (player.killableAux) { player.killable = true; } else { player.killableAux = true; } } if (caja != null) //reinicia la caja si se sale de la plat habiendo chocado con la pared { other.GetComponent <Recolocar>().relocatable = true; if (caja.GetComponentInParent <Plataformas>() == null) { other.gameObject.SendMessage("Relocate", SendMessageOptions.DontRequireReceiver); } other.transform.parent = null; } }