/// <summary> /// Copies all writeable properties between TextSurfaces. /// Copies non read-only to target if it's Emulated. /// </summary> /// <param name="Source"></param> /// <param name="Target"></param> /// <param name="IncludeContent"></param> public static void Copy(Sandbox.ModAPI.Ingame.IMyTextSurface Source, MyTextSurface Target, bool IncludeContent = true) { Copy(Source, Target, IncludeContent); Target.CurrentlyShownImage = Source.CurrentlyShownImage; Target.SurfaceSize = Source.SurfaceSize; Target.TextureSize = Source.TextureSize; Target.Name = Source.Name; Target.DisplayName = Source.DisplayName; Target.GetFontsX = Source.GetFonts; Target.GetScriptsX = Source.GetScripts; Target.GetSpritesX = Source.GetSprites; Target.MeasureStringInPixelsX = Source.MeasureStringInPixels; }
// Inter-MyTextSurface-Actions public static void Copy(Sandbox.ModAPI.Ingame.IMyTextSurface Source, Sandbox.ModAPI.Ingame.IMyTextSurface Target, bool IncludeContent = true) { Target.FontSize = Source.FontSize; Target.FontColor = Source.FontColor; Target.BackgroundColor = Source.BackgroundColor; Target.BackgroundAlpha = Source.BackgroundAlpha; Target.ChangeInterval = Source.ChangeInterval; Target.Font = Source.Font; Target.Alignment = Source.Alignment; Target.PreserveAspectRatio = Source.PreserveAspectRatio; Target.TextPadding = Source.TextPadding; Target.ScriptBackgroundColor = Source.ScriptBackgroundColor; Target.ScriptForegroundColor = Source.ScriptForegroundColor; if (IncludeContent) { Target.ContentType = Source.ContentType; Target.Script = Source.Script; Target.ClearImagesFromSelection(); List <string> Images = new List <string>(); Source.GetSelectedImages(Images); Target.AddImagesToSelection(Images); Target.WriteText(Source.GetText()); } }
/// <summary> /// Copies all writeable properties From TextSurface. /// Also copies read-only properties from source. /// </summary> /// <param name="Source"></param> /// <param name="IncludeContent"></param> public void CopyFrom(Sandbox.ModAPI.Ingame.IMyTextSurface Source, bool IncludeContent = true) => Copy(Source, this, IncludeContent);
/// <summary> /// Copies all writeable properties To TextSurface. /// </summary> /// <param name="Target"></param> /// <param name="IncludeContent"></param> public void CopyTo(Sandbox.ModAPI.Ingame.IMyTextSurface Target, bool IncludeContent = true) => Copy(this, Target, IncludeContent);