public override void Draw(Microsoft.Xna.Framework.Matrix world, Microsoft.Xna.Framework.Matrix view, Microsoft.Xna.Framework.Matrix projection)
{
if (!firinganimation) { base.Draw(world, view, projection); }
else
{
Vector3 currentfiring = (firingtarget - firingsource) * (firingpercent / 100.0f) + firingsource;
firingpercent = firingpercent + 10;
if (firingpercent == 100) { firingpercent = 0; firinganimation = false; }
ProtonBeamModel.Draw(Matrix.CreateRotationZ((float)targetangle) * Matrix.CreateTranslation(currentfiring) * world, view, projection, Color.Red, 10);
//ProtonBeamModel.Draw(Matrix.CreateTranslation(currentfiring) * world, view, projection, Color.FromNonPremultiplied(c1, 200,200,255), 2);
//update shifting hue of beam
c1++;
if (c1 > 255) c1 = 0;
if (shipmodel == null) { shipmodel = ShipModel.shipmodels[modelstring]; }
shipmodel.Draw(Matrix.CreateRotationZ((float)currentAngle) * Matrix.CreateTranslation(firingsource) * world, view, projection, affiliation.color, 1.6f, hoveringHeight);
//create illusion that ship is hovering in space
hoveringHeight += hoveringAcc;
if (hoveringHeight > 13 || hoveringHeight < 6) { hoveringAcc *= -1; }
}
}