/// <summary> /// Takeoff animation for additional textures specified in properties on launch /// </summary> public virtual void DrawAdditionalLandingTextures(float layer) { if (!LandingGraphics.NullOrEmpty()) { for (int i = 0; i < LandingGraphics.Count; i++) { Graphic graphic = LandingGraphics[i]; GraphicDataLayered graphicData = LandingGraphicDatas[i]; Vector3 texPosition = new Vector3(DrawPos.x, layer + graphicData.DrawLayer, DrawPos.z); if (graphic is Graphic_Animate animationGraphic) { animationGraphic.DrawWorkerAnimated(texPosition, Rot4.North, ticksPassed, 0f); } else { graphic.DrawWorker(texPosition, Rot4.North, null, null, 0f); } } } }
public override void DrawAdditionalLaunchTextures(float layer) { if (!LaunchGraphics.NullOrEmpty() && DrawPos.z - drawPos.z > vehicle.VehicleDef.Size.z) { Rand.PushState(); for (int i = 0; i < LaunchGraphics.Count; i++) { Graphic graphic = LaunchGraphics[i]; GraphicDataLayered graphicData = LaunchGraphicDatas[i]; Vector3 texPosition = new Vector3(DrawPos.x, layer + graphicData.DrawLayer, DrawPos.z); if (graphic is Graphic_Animate animationGraphic) { animationGraphic.DrawWorkerAnimated(texPosition, Rot4.North, ticksPassed, rotation, true); } else { graphic.DrawWorker(texPosition, Rot4.North, null, null, rotation); } } Rand.PopState(); } }
public void CopyFrom(GraphicDataLayered graphicData) { base.CopyFrom(graphicData); layer = graphicData.layer; }