void OnCollisionEnter2D(Collision2D col) { //if the tag is different from the collided object tag it runs the if statement if (col.gameObject.tag != gameObject.tag && isMoving && !ballDead) //isMoving means that this statement will run ONLY in the ball's instance that has been moved by the player { //register reference to the first collision contact point Vector2 contactPoint = col.GetContact(0).point; //register a reference to the collided object script for simplicity and to prevents error when hitting something without tag CollisionCombatScript ballHitScript = col.gameObject.GetComponent <CollisionCombatScript>(); if (ballHitScript != null) { Instantiate(hitEffect, contactPoint, Quaternion.identity); GameObject floatingDamageObj = Instantiate(floatingDamagePrefab, transform.position, Quaternion.identity); floatingDamageObj.GetComponent <FloatingDamageController>().SetText((Attack - ballHitScript.Armour).ToString()); CameraContolScript.shakeDuration = 0.1f; ballHitScript.hp = ballHitScript.hp - (Attack - ballHitScript.Armour); ballHitScript.hpAndDamageText.text = " / "; ballHitScript.hpAndDamageText.text = "HP: " + ballHitScript.hp.ToString() + ballHitScript.hpAndDamageText.text + "DMG: " + ballHitScript.Attack.ToString(); GetComponent <AudioSource>().PlayOneShot(Injure); IsAttack = false; if (ballHitScript.hp > 0) { ballHitScript.RedDuration = 0f; } //ballHitScript.gameObject.GetComponent<SpriteRenderer>().material.color = Color.Lerp(Color.red, new Color(1, 1, 1, 1), Mathf.PingPong(Time.time, 1)); } } ballHasCollided = true; }
void OnTriggerEnter2D(Collider2D Col) { CollisionCombatScript BallHitScript = Col.gameObject.GetComponent <CollisionCombatScript>(); BallHitScript.hp = BallHitScript.hp + 1; BallHitScript.hpAndDamageText.text = " / "; BallHitScript.hpAndDamageText.text = "HP: " + BallHitScript.hp.ToString() + BallHitScript.hpAndDamageText.text + "DMG: " + BallHitScript.Attack.ToString(); gameObject.SetActive(false); }
void DeactivatePlayer2Balls() { for (int i = 0; i < player2Balls.Length; i++) { CollisionCombatScript collisionScriptToCheck = player2Balls[i].GetComponent <CollisionCombatScript>(); collisionScriptToCheck.interactable = false; collisionScriptToCheck.IsActive = false; /*if (collisionScriptToCheck.interactable) * { * collisionScriptToCheck.interactable = false; * collisionScriptToCheck.IsActive = false; * }*/ } }
void OnCollisionEnter2D(Collision2D col) { //if the tag is different from the collided object tag it runs the if statement //register reference to the first collision contact point //register a reference to the collided object script for simplicity and to prevents error when hitting something without tag CollisionCombatScript ballHitScript = col.gameObject.GetComponent <CollisionCombatScript>(); if (ballHitScript != null) { ballHitScript.gameObject.GetComponent <SpriteRenderer>().material.color = new Color32(255, 255, 255, 155); } }
void OnCollisionEnter2D(Collision2D col) { //if the tag is different from the collided object tag it runs the if statement if (col.gameObject.tag != gameObject.tag) { CollisionCombatScript ballHitScript = col.gameObject.GetComponent <CollisionCombatScript>(); if (ballHitScript != null) { //spawn hit effect sprite Vector2 contactPoint = col.GetContact(0).point; Instantiate(hitEffect, contactPoint, Quaternion.identity); //If they hit you. they will call the varibles of what was hit. then do the maths ballHitScript.hp = ballHitScript.hp - Attack; ballHitScript.hpAndDamageText.text = " / "; ballHitScript.hpAndDamageText.text = "HP: " + ballHitScript.hp.ToString() + ballHitScript.hpAndDamageText.text + "DMG: " + ballHitScript.Attack.ToString(); } } }
void DisableOtherBalls() { if (gameObject.tag == "Player1") { foreach (GameObject ball in gameControllerScript.player1Balls) { CollisionCombatScript collisionCombatScript = ball.GetComponent <CollisionCombatScript>(); collisionCombatScript.interactable = false; } } if (gameObject.tag == "Player2") { foreach (GameObject ball in gameControllerScript.player2Balls) { CollisionCombatScript collisionCombatScript = ball.GetComponent <CollisionCombatScript>(); collisionCombatScript.interactable = false; } } }