Exemplo n.º 1
0
    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;
    }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
    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;
             * }*/
        }
    }
Exemplo n.º 4
0
    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);
        }
    }
Exemplo n.º 5
0
    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();
            }
        }
    }
Exemplo n.º 6
0
    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;
            }
        }
    }