public void MasterBallCatchedByPlayer(PlayerScript _Player) { _Player.AddPoint(); this.m_Spawner.Spawn(); }
private void OnCollisionEnter(Collision collision) { if (!dead) { Transform colTran = collision.transform; switch (colTran.tag) { case "Wall": //rb.velocity = new Vector3(-rb.velocity.x, rb.velocity.y, 0); forward = !forward; _audio.CreateSound(3); break; case "Roof": Die(); GameManager.instance.ContarMuerte(1); _audio.CreateSound(5); break; case "Coin": AddPoint(colTran.GetComponent <Coin>().value); Destroy(colTran.gameObject); _audio.CreateSound(0); break; case "Shield": shielded.SetActive(true); shield = true; Destroy(colTran.gameObject); _audio.CreateSound(6); break; case "Gravity": GameManager.instance.ChangeGravity(rb); Destroy(colTran.gameObject); _audio.CreateSound(20); break; case "SlowingField": GameManager.instance.SlowPlayers(this); Destroy(colTran.gameObject); _audio.CreateSound(20); break; case "Color": GameManager.instance.ChangeColor(mat0, this); Destroy(colTran.gameObject); _audio.CreateSound(7); break; case "Clone": GameManager.instance.SpawnPlayer(ID); Destroy(colTran.gameObject); break; case "Player": PlayerScript colScript = collision.gameObject.GetComponent <PlayerScript>(); if (colScript.dead) { AddPoint((colScript.puntos / 2) + 1); colTran.gameObject.GetComponent <PlayerScript>().Destroy(); print(name + " recogio un botin de los restos de " + colTran.name); _audio.CreateSound(10); } else { float angulo = Vector2.Angle((transform.position - colTran.position), transform.up); if (angulo >= 25 && angulo <= 155) { Vector2 vecTemp = colTran.GetComponent <Rigidbody>().velocity; rb.velocity = new Vector3(-rb.velocity.x, rb.velocity.y + (Mathf.Abs(vecTemp.y) / 2), 0); forward = !forward; } else if (angulo < 25) { //Aca no se hace nada :v r } else { if (Die()) { colScript.AddPoint(5); GameManager.instance.ContarMuerte(0); } //colScript.AddPoint(Die() ? 5 : 0); print(name + "fue pisado por " + colTran.name + " en un angulo de " + angulo); } } break; } } else { string colTag = collision.transform.tag; if (colTag == "Floor") { anim.SetInteger("State", 2); } else if (colTag != "Untagged" && colTag != "Player" && colTag != "Wall" && colTag != "Roof") { Destroy(collision.gameObject); } } }