Ejemplo n.º 1
0
    public void Collision(ProjectileCollision collider)
    {
        Vector2 velocity = collider.rb.velocity;
        Vector2 position = new Vector2(collider.transform.position.x, collider.transform.position.y);

        rb.AddExplosionForce(collider.ExplosionForce, position);
        TakeDamage(collider.CalculateDamage(velocity));
    }
Ejemplo n.º 2
0
 void ProjectileDispute(ProjectileCollision proj)
 {
     if (proj.gameObject.activeSelf && gameObject.activeSelf)
     {
         if (proj.priority >= priority)
         {
             proj.spellCollisionBehaviour(gameObject, proj.gameObject);
         }
         if (proj.priority <= priority)
         {
             spellCollisionBehaviour(proj.gameObject, gameObject);
         }
     }
 }
Ejemplo n.º 3
0
        private void OnCollisionEnter(Collision collision)
        {
            if (collision.gameObject.CompareTag("projectile"))
            {
                var data = collision.gameObject.GetComponent <CollisionData>();
                ProjectileCollision.SafeInvoke(data);
            }

            if (collision.gameObject.CompareTag("Player"))
            {
                PlayerCollisionBegin.SafeInvoke();
            }
            ;
        }
Ejemplo n.º 4
0
    private IEnumerator DelayedLaunchCoroutine()
    {
        yield return(new WaitForSeconds(m_LaunchDelay));

        SFXPool.Instance.PlaySFX(SFXPool.SFX.SpellCast1);

        GameObject projectile = Instantiate(m_ProjectilePrefab);

        projectile.transform.position = m_ProjectileOrigin.position;

        ProjectileMovement movement = projectile.GetComponent <ProjectileMovement>();

        movement.Init(
            transform.right * -transform.localScale.x
            + new Vector3(0, Mathf.Sin(m_ElevationAngle * Mathf.Deg2Rad)),
            m_ProjectileSpeed);

        ProjectileCollision collision = projectile.GetComponent <ProjectileCollision>();

        collision.Init(gameObject);
    }
Ejemplo n.º 5
0
        private void OnCollisionEnter(Collision collision)
        {
            if (photonView.IsMine)
            {
                Player player = collision.collider.GetComponent <Player>();

                if (player)
                {
                    if (InstanceID != player.InstanceID)
                    {
                        ProjectileCollision col = player.GetComponent <ProjectileCollision>();

                        col.FlashRed();

                        if (player.OnDamage(damage))
                        {
                            ++owner.score;
                        }

                        PhotonNetwork.Destroy(gameObject);
                    }
                }
            }
        }
Ejemplo n.º 6
0
    // Check out  and init projectiles foreach seg
    void CheckOutProj(ProjectileSpellBookBuilder builder)
    {
        foreach (SpellCreationSegment seg in builder.GetSpellSegs())
        {
            List <GameObject> gameObjs = new List <GameObject>();
            for (int i = 0; i < 15; i++)
            {
                GameObject projParent = ProjectileParentPool.Take();
                if (builder.trigger == ProjectileSpellBookBuilder.EventTrigger.Proximity)
                {
                    projParent.GetComponent <Trigger>().active     = true;
                    projParent.GetComponent <Trigger>().spellEvent = builder.spellEvent;
                }
                foreach (SpellPixelFinal spf in seg.GetPixels())
                {
                    GameObject projPixel = ProjectilePool.Take();
                    projPixel.transform.parent        = projParent.transform;
                    projPixel.transform.localPosition = Vector2.zero + spf.m_position * .25f;
                    projPixel.transform.rotation      = Quaternion.identity;
                    projPixel.GetComponent <SpriteRenderer>().color = spf.m_ink.GetColor();
                    ProjectileCollision projCollision = projPixel.GetComponent <ProjectileCollision>();
                    projCollision.caster   = caster;
                    projCollision.priority = spf.m_ink.GetPriority();
                    projCollision.spellCollisionBehaviour = spf.m_ink.GetOnSpellCollisionEffect();
                    projCollision.damage          = spf.damage;
                    projCollision.damageBehaviour = spf.m_ink.GetOnHitEffect();
                    projCollision.backGroundCollisionBehaviour = builder.lang.GetCollisionBehaviour();
                }
                projParent.GetComponent <ProjectileController>().SetProjectile(seg, this);

                gameObjs.Add(projParent);
                projParent.SetActive(false);
            }
            openObjs.Add(seg, gameObjs);
        }
    }
Ejemplo n.º 7
0
    } // end void start

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

    void Update()
    {
        /* Need to up Date every scene since the bullet is not created until it is fired */
        Bullet = GameObject.FindWithTag("Bullet").GetComponent <ProjectileCollision>();         // Having a hard time determining wheather the object exist or not

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


        /* Changes camera to the projectile */
        if (Bullet.IsDestroyed == false)
        {
            bulletCamera.enabled  = true;                            // Need to change the camera from enabled to something else that will determine
            player1Camera.enabled = false;                           // wheather the camera is on or not.
            player2Camera.enabled = false;                           // this line aslo needs to be changed.

            /* Getting the position for the bullet */
            xPos = Bullet.transform.position.x;
            yPos = Bullet.transform.position.y;
            zPos = transform.position.z;

            // setting the postion of the camera with the vector
            Vector3 center = new Vector3(xPos, yPos, zPos);

            // setting the position marker for the camera
            // bulletCamera.transform.position = center;

            if (player1.firedProjectile)
            {
                player1.turnCheck = false;
                player2.turnCheck = false;
                timer1           -= Time.deltaTime;
                if (timer1 <= 0)
                {
                    player1.turnCheck     = false;
                    player2.turnCheck     = true;
                    player1Camera.enabled = false;
                    player2Camera.enabled = true;
                    bulletCamera.enabled  = false;
                    timer1 = baseTimer;
                }
            }

            if (player2.firedProjectile)
            {
                player1.turnCheck = false;
                player2.turnCheck = false;
                timer2           -= Time.deltaTime;
                if (timer2 <= 0)
                {
                    player1.turnCheck     = true;
                    player2.turnCheck     = false;
                    player1Camera.enabled = true;
                    player2Camera.enabled = false;
                    bulletCamera.enabled  = false;
                    timer2 = baseTimer;
                }
            }
        }

        else
        {
            /* setting the player camera to true */
            if (player1.turnCheck)
            {
                player1Camera.enabled = true;
                player2Camera.enabled = false;
                bulletCamera.enabled  = false;
            }

            /* setting the player camera to true */
            else if (player2.turnCheck)
            {
                player1Camera.enabled = false;
                player2Camera.enabled = true;
                bulletCamera.enabled  = false;
            }
        }
    } // end void update
 void Start()
 {
     projectileRB = projectile.GetComponent <Rigidbody>();
     projCol      = projectile.GetComponent <ProjectileCollision>();
     anim         = GetComponentInChildren <Animator>(false);
 }
Ejemplo n.º 9
0
 public void Collision(ProjectileCollision collider)
 {
 }