//create bullet public static GameObject CreateBullet(float x, float y, Quaternion rot, float damage, float speed, Boolean sentByRemote, Boolean firedByWhale, WeaponTypes weaponUsed) { GameObject bullet = new GameObject("Bullet"); bullet.transform.position = new Vector2(x, y); bullet.transform.localScale = new Vector2(0.5F, 0.5F); if (firedByWhale) { bullet.layer = 11; } else { bullet.layer = 10; } SpriteRenderer renderer = bullet.AddComponent <SpriteRenderer>(); BoxCollider2D collider = bullet.AddComponent <BoxCollider2D>(); collider.size = new Vector2(0.25F, 0.1F); BulletPhysicsScript physics = bullet.AddComponent <BulletPhysicsScript>(); physics.canCollide = sentByRemote; Rigidbody2D body = bullet.AddComponent <Rigidbody2D>(); body.mass = 1F; body.collisionDetectionMode = CollisionDetectionMode2D.Continuous; body.gravityScale = 0; bullet.transform.rotation = rot; physics.bulletDamage = damage; if (weaponUsed.Equals(WeaponTypes.nematocyst)) { renderer.sprite = SpriteHandler.jellySpineSprite; } else if (weaponUsed.Equals(WeaponTypes.harpoonGun)) { renderer.sprite = SpriteHandler.harpoonSprite; } else if (weaponUsed.Equals(WeaponTypes.eggBazooka)) { renderer.sprite = SpriteHandler.eggSprite; } renderer.sortingOrder = -2; body.AddRelativeForce(new Vector2(speed, 0), ForceMode2D.Impulse); return(bullet); }