public override Projectile InstantiateProjectile(Vector2 pos) { var scene = weaponComponent.Entity.Scene; var dir = Vector2.Normalize(scene.Camera.MouseToWorldPoint() - coneSpring.TargetPosition); type = Scoop.GetNext(type); var s = Pool <Scoop> .Obtain(); s.Initialize(dir, pos + weaponMountOffset + dir * 4, type); // Shock the cone coneSpring.Shock(-dir * 3); return(s); }