public void SpawnCharacters(List <CharacterSelectionData> selectionData, List <GameObject> prefabs) { for (int i = 0; i < selectionData.Count; i++) { Debug.Log("Spawning player"); GameObject go = Instantiate(prefabs[selectionData[i].prefabID], boundary.spawnPoints[i].position, Quaternion.identity); Camera cam = go.GetComponentInChildren <Camera>(); if (!cam) { return; //Seguridad minima } CinemachineFreeLook cmFree = go.GetComponentInChildren <CinemachineFreeLook>(); BallControler controller = go.GetComponentInChildren <BallControler>(); AuraCamera auraCam = cam.GetComponent <AuraCamera>(); //Layer setup cam.gameObject.layer = playerLayerSlayer[selectionData[i].playerID]; cmFree.gameObject.layer = playerLayerSlayer[selectionData[i].playerID]; //Layer mask cam.cullingMask = theMasks[selectionData[i].playerID]; //cam.cullingMask = CharacterManager.instance.cameraMasks[selectionData[i].playerID]; //AuraCam auraCam.frustumSettings.baseSettings = auraSettings; //Player id controller.playerID = selectionData[i].playerID; //Camera position cam.rect = new Rect(camWidths[selectionData[i].playerID], Vector2.one * 0.5f); } }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "ball") { BallControler.PlaySparkleAnimation(); AudioMenager.metal.Play(); } }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "ball") { BallControler.AddPoint(pointToAdd); AudioMenager.sound.Play(); Scores.hitTargets++; } }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "ball") { BallControler.PlaySparkleAnimation(); Destroy(this.gameObject); Debug.Log("Destroy"); } }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "ball") { BallControler.AddForceToBall(force1, force2); BallControler.PlaySparkleAnimation(); AudioMenager.rune.Play(); } }
private void OnTriggerEnter(Collider other) { BallControler player = other.GetComponent <BallControler>(); if (player != null) { player.checkPontLoc = transform.position; Debug.Log("CHECKPOINT"); } }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "ball") { Rigidbody2D rb = collision.gameObject.GetComponent <Rigidbody2D>(); rb.velocity = Vector2.zero; rb.angularVelocity = 0; BallControler.PlaySparkleAnimation(); AudioMenager.rune.Play(); } }
private void OnTriggerExit(Collider other) { if (other.CompareTag("Player")) { BallControler controler = other.gameObject.GetComponent <BallControler>(); if (controler) { lives[controler.playerID]++; controler.movement.Despawn(); if (lives[controler.playerID] < totalLives) { StartCoroutine("Respawn", controler.movement); if (lives[controler.playerID] < 2) { controler.movement.SetDamaged(true); } else { controler.movement.SetDamaged(false); } } else { Instantiate(loseCanvas, controler.movement.canvas.transform); deadState[controler.playerID] = true; deaths++; if (deaths >= 3) { Debug.Log("End Game"); for (int i = 0; i < 4; i++) { if (!deadState[i]) { Instantiate(winCanvas, controler.movement.canvas.transform); } } StartCoroutine(ReturnToMenu()); } } } } }
// Start is called before the first frame update void Start() { rb = GetComponent <Rigidbody2D>(); sparkles = sparklesObject; ballControler = this; }