public Beam(Vector2 srcCenter, Vector2 destination, int Thickness, Projectile Owner, GameplayObject target)
 {
     this.Target = target;
     this.DamageToggleSound = AudioManager.GetCue("sd_shield_static_1");
     if (Owner.isInDeepSpace || Owner.GetSystem() == null)
     {
         UniverseScreen.DeepSpaceManager.BeamList.Add(this);
     }
     else
     {
         this.system = Owner.GetSystem();
         this.system.spatialManager.BeamList.Add(this);
     }
     this.Source = srcCenter;
     this.BeamOffsetAngle = 0f;
     this.ActualHitDestination = destination;
     this.Vertices = new VertexPositionNormalTexture[4];
     this.Indexes = new int[6];
     this.BeamZ = RandomMath2.RandomBetween(-1f, 1f);
     Vector3[] points = HelperFunctions.BeamPoints(srcCenter, destination, (float)Thickness, new Vector2[4], 0, this.BeamZ);
     this.UpperLeft = points[0];
     this.UpperRight = points[1];
     this.LowerLeft = points[2];
     this.LowerRight = points[3];
     this.FillVertices();
 }