// Update is called once per frame

//	void LateUpdate(){
//		float xPos = transform.position.x + 21.5f;
//		float yPos = transform.position.y + 12;
//		if (tilemap.GetTile ((int)xPos, (int)yPos, 3) != -1){
//			Destroy (gameObject);
//		}
//	}

    void OnCollisionEnter2D(Collision2D coll)
    {
        if (owner.transform.localScale.x == 1)
        {
            q = psBulletSparks.transform.rotation;
        }
        else
        {
            q = psBulletSparks.transform.rotation * Quaternion.Euler(0, 180, 0);
        }
        Instantiate(psBulletSparks, transform.position, q);
        Destroy(gameObject);
        // For players
        GameObject enemy = coll.gameObject;

        if (enemy.tag == "Player")
        {
            PlayerScript playerScript = enemy.GetComponent <PlayerScript>();
            playerScript.Health     -= damageOutput;
            psPlayerHit.maxParticles = (int)damageOutput;
            Instantiate(psPlayerHit, transform.position, Quaternion.identity);
        }
        else if (enemy.tag == "Mob")
        {
            MobScript mobScript = enemy.GetComponent <MobScript>();
            mobScript.Health -= damageOutput;
        }
    }
Exemple #2
0
 void OnTriggerEnter2D(Collider2D coll)
 {
     // For players
     if (attack)
     {
         GameObject enemy = coll.gameObject;
         if (enemy.tag == "Player" && enemy != player)
         {
             PlayerScript playerScript = enemy.GetComponent <PlayerScript>();
             playerScript.Health     -= damage;
             psPlayerHit.maxParticles = (int)damage;
             if (transform.parent.transform.localScale.x == 1)
             {
                 q = psPlayerHit.transform.rotation;
             }
             else
             {
                 q = psPlayerHit.transform.rotation * Quaternion.Euler(0, 90, 0);
             }
             Instantiate(psPlayerHit, coll.transform.position, q);
         }
         else if (enemy.tag == "Mob")
         {
             MobScript mobScript = enemy.GetComponent <MobScript>();
             mobScript.Health -= damage;
         }
     }
 }
    void OnCollisionEnter2D(Collision2D coll)
    {
        // For players
        hitGround = true;
        GameObject enemy = coll.gameObject;

        if (enemy.tag == "Player")
        {
            PlayerScript playerScript = enemy.GetComponent <PlayerScript>();
            playerScript.Health -= 10.0f;
        }
        else if (enemy.tag == "Mob")
        {
            MobScript mobScript = enemy.GetComponent <MobScript>();
            mobScript.Health -= 10.0f;
        }
    }
Exemple #4
0
    void OnCollisionEnter2D(Collision2D coll)
    {
        Destroy(gameObject);
        // For players
        GameObject enemy = coll.gameObject;

        if (enemy.tag == "Player")
        {
            PlayerScript playerScript = enemy.GetComponent <PlayerScript>();
            playerScript.Health     -= damageOutput;
            psPlayerHit.maxParticles = (int)damageOutput;
            Instantiate(psPlayerHit, transform.position, Quaternion.identity);
        }
        else if (enemy.tag == "Mob")
        {
            MobScript mobScript = enemy.GetComponent <MobScript>();
            mobScript.Health -= damageOutput;
        }
    }
    // Update is called once per frame
    void FixedUpdate()
    {
        //int c = ea.Count;
        //for (int i = 0; i < c; i++)
        //{
        //Health h = ea[i].GetComponent<Health>();
        //Debug.Log("Enemy #" + i + " hp: " + ea[i].hp);
        //ea[i].h.damage();
        //}
        // moving
        Vector3 pos = transform.position;

        if (Input.GetKey("a") || Input.GetKey("d"))
        {
            //if (Math.Abs(speedx) < speedCap)
            //{
            count++;
            if (Input.GetKey("a"))
            {
                if (speedx > (speedCap * -1))
                {
                    speedx = speedx - accel;
                }
            }
            if (Input.GetKey("d"))
            {
                if (speedx < speedCap)
                {
                    speedx = speedx + accel;
                }
            }
            //Debug.Log(count + ": Speed: x" + speedx);
            //}
        }
        else
        {
            if (Math.Abs(speedx) != 0)
            {
                if (speedx > 0)
                {
                    speedx = speedx - (accel);
                }
                if (speedx < 0)
                {
                    speedx = speedx + (accel);
                }
            }
            else
            {
                speedx = 0;
            }
        }

        if (Input.GetKey("w") || Input.GetKey("s"))
        {
            //if (Math.Abs(speedy) < speedCap)
            //{
            count++;
            if (Input.GetKey("s"))
            {
                if (speedy > (speedCap * -1))
                {
                    speedy = speedy - accel;
                }
            }
            if (Input.GetKey("w"))
            {
                if (speedy < speedCap)
                {
                    speedy = speedy + accel;
                }
            }
            //Debug.Log(count + ": Speed y: " + speedy);
            //}
        }
        else
        {
            if (Math.Abs(speedy) != 0)
            {
                if (speedy > 0)
                {
                    speedy = speedy - (accel);
                }
                if (speedy < 0)
                {
                    speedy = speedy + (accel);
                }
            }
            else
            {
                speedy = 0;
            }
        }

        // jumping
        //Vector3 scale = transform.localScale;

        // checking to see if jumpCount is 0, if so the obj is on ground

        /*
         * if (jumpCount > 0)
         * {
         *  onGround = false;
         * }
         * else
         * {
         *  onGround = true;
         * }
         */


        // checking if key is down or not

        /*
         * if (Input.GetKeyDown("space"))
         * {
         *  if (jumpCount == 0)
         *  {
         *      jU = true;
         *      jD = false;
         *  }
         * }
         * else
         * {
         *
         * }
         */
        /*
         * // if jumping up
         * if (jU == true)
         * {
         *  if (jumpCount < jumpTime)
         *  {
         *      jumpCount += jumpSpeed;
         *      scale.x += scaleSpeed * Time.deltaTime;
         *      scale.y += scaleSpeed * Time.deltaTime;
         *      speedy += upSpeed * Time.deltaTime;
         *  }
         *
         *  if (jumpCount == jumpTime)
         *  {
         *      jU = false;
         *      jD = true;
         *  }
         * }
         *
         * // if going down
         * if (jD == true)
         * {
         *  if (onGround != true)
         *  {
         *      jumpCount -= jumpSpeed;
         *      scale.x -= scaleSpeed * Time.deltaTime;
         *      scale.y -= scaleSpeed * Time.deltaTime;
         *      speedy -= upSpeed * Time.deltaTime;
         *  }
         * }
         */

        // update list of existing hittable objects
        //hitBox.OnTriggerEnter(hitBoxes);
        //hitBox.OnTriggerExit(hitBoxes);

        //Debug.Log("Speedy: " + speedy);

        // move the obj
        //transform.localScale = scale;
        velocity = new Vector2(speedx, speedy);
        rb2D.MovePosition(rb2D.position + velocity * Time.fixedDeltaTime);
        transform.position = pos;

        // ATTACK CODE --------------------------------------------------------

        GameObject mobObj = GameObject.Find("Mob");

        for (int i = 0; i < enemyArray.Count; i++)
        {
            e = enemyArray[i];

            if (enemyArray[i] != null)
            {
                eh = e.GetComponent <Health>();
                ms = e.GetComponent <MobScript>();
                //playerPos = p.transform.position;
                enemyPos = e.transform.position;
                float distance = Vector3.Distance(pos, enemyPos);

                //Debug.Log("player to enemy: " + distance);
                if (Input.GetKeyDown("p"))
                {
                    if (distance < range)
                    {
                        eh.damage(damage);


                        ms.isPunched = true;
                        ms.pc        = 500;

                        if (pos.x < enemyPos.x)
                        {
                            ms.punchLaunch = 500;
                        }
                        else
                        {
                            ms.punchLaunch = -500;
                        }
                        //Debug.Log("in range");
                    }
                    else
                    {
                        //Debug.Log("Too far away to hit");
                    }
                }
            }


            Debug.Log(eh.hp);
        }

        // --------------------------------------------------------------------

        /*
         * ContactFilter2D contactFilter = new ContactFilter2D();
         * contactFilter.NoFilter();
         *
         * int colliderCount = hitBox.OverlapCollider(contactFilter, hitBoxes);
         * //Debug.Log("Collider Count: " + colliderCount);
         */
    }