Ejemplo n.º 1
0
    protected virtual void OnTriggerEnter2D(Collider2D other)
    {
        // Apply damage to any character hit by this blast
        SpriteCharacterController character = other.transform.GetComponent <SpriteCharacterController>();

        if (character != null)
        {
            character.ApplyDamage(this.Damage);
        }
    }
Ejemplo n.º 2
0
    protected virtual void OnCollisionEnter2D(Collision2D coll)
    {
        GameObject.Destroy(this.gameObject);

        // Apply damage to any character hit by this projectile
        SpriteCharacterController character = coll.transform.GetComponent <SpriteCharacterController>();

        if (character != null)
        {
            character.ApplyDamage(this.Damage);
        }
    }
    public static WeaponProjectile Create(WeaponProjectile instance, SpriteCharacterController owner, Transform launchPoint, int directionX)
    {
        WeaponProjectile projectile = GameObject.Instantiate<WeaponProjectile>(instance);

        // Prevent hitting the player who cast it
        Physics2D.IgnoreCollision(owner.GetComponent<Collider2D>(), projectile.GetComponent<Collider2D>());

        // Set the start position
        Vector2 position = launchPoint.position;
        projectile.transform.position = position;
        projectile.directionX = directionX;

        // Flip the sprite if necessary
        if (directionX < 0)
        {
            Vector3 scale = projectile.transform.localScale;
            scale.x = -scale.x;
            projectile.transform.localScale = scale;
        }

        return projectile;
    }
Ejemplo n.º 4
0
    public static WeaponProjectile Create(WeaponProjectile instance, SpriteCharacterController owner, Transform launchPoint, int directionX)
    {
        WeaponProjectile projectile = GameObject.Instantiate <WeaponProjectile>(instance);

        // Prevent hitting the player who cast it
        Physics2D.IgnoreCollision(owner.GetComponent <Collider2D>(), projectile.GetComponent <Collider2D>());

        // Set the start position
        Vector2 position = launchPoint.position;

        projectile.transform.position = position;
        projectile.directionX         = directionX;

        // Flip the sprite if necessary
        if (directionX < 0)
        {
            Vector3 scale = projectile.transform.localScale;
            scale.x = -scale.x;
            projectile.transform.localScale = scale;
        }

        return(projectile);
    }