/// <summary> /// Exports the GUI Sprite to disk /// </summary> /// <param name="bw"></param> public override void Export(PlatformBinaryWriter bw) { FourCCStack fourCCStack = new FourCCStack(bw); fourCCStack.Push("GBTT"); base.Export(bw); bw.Write(Scene.GetUniqueTextureID(mDefaultTextureID)); bw.Write(Scene.GetUniqueTextureID(mDownTextureID)); bw.Write(mLabel.FontID); bw.Write(DefaultColor.ToArgb()); bw.Write(DownColor.ToArgb()); bw.Write(1.0f); bw.Write(1.0f); bw.Write((UInt32)HorizontalAlignment); bw.Write((UInt32)VerticalAlignment); bw.Write(OnClickActionList.Count); byte[] bytes = Utils.StringToBytes(mLabel.Text, 4); bw.Write(bytes.Length); bw.Write(bytes); foreach (UI.Actions.Action action in this.OnClickActionList) { action.Export(bw); } fourCCStack.Pop(); }
public void DrawNormalShapeSection(Point[] shapePoints, Point[] earsePoints, bool eraseEnable) { DefaultColor defaultColor = DefaultColor.DefaultColorEx; Pen drawPen = new Pen(defaultColor.DefaultBackGroundColor); Color pointColor = defaultColor.DefaultBackGroundColor; drawPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash; if (!eraseEnable) { drawPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid; pointColor = defaultColor.DefaultShapeColor; drawPen.Color = defaultColor.DefaultShapeColor; } Graphics pe = Graphics.FromImage(bitmap); for (int i = 1; i < shapePoints.Length; i++) { pe.DrawLine(drawPen, shapePoints[i - 1].X, shapePoints[i - 1].Y, shapePoints[i].X, shapePoints[i].Y); } if (earsePoints != null) { for (int i = 0; i < earsePoints.Length; i++) { DrawSinglePoint(pe, earsePoints[i], pointColor); if (eraseEnable) { DrawDottSinglePoint(pe, earsePoints[i], defaultColor.DefaultShapeColor); } } } pe.Dispose(); }
public void ClearBitmap() { DefaultColor defaultColor = DefaultColor.DefaultColorEx; Graphics pe = Graphics.FromImage(bitmap); pe.Clear(defaultColor.DefaultBackGroundColor); pe.Dispose(); }
void IXleSerializable.WriteData(XleSerializationInfo info) { info.Write("GuardDefaultAttack", DefaultAttack); info.Write("GuardDefaultDefense", DefaultDefense); info.Write("GuardDefaultHP", DefaultHP); info.Write("GuardDefaultColor", DefaultColor.ToArgb()); info.Write("Guards", mGuards); }
public void EraseString() { DefaultColor defaultColor = DefaultColor.DefaultColorEx; Graphics pe = Graphics.FromImage(bitmap); if (textRect != null && textRect != Rectangle.Empty) { pe.FillRectangle(new SolidBrush(defaultColor.DefaultBackGroundColor), textRect); } }
public BaseColor() { DefaultColor defaultColor = new DefaultColor(false); Card = defaultColor.Cardbrush; Font = defaultColor.Fontbrush; Fg = defaultColor.Fgbrush; Bg = defaultColor.Bgbrush; Fonts = defaultColor.font; DBg = defaultColor.DBgbrush; }
//public void EraseNormalShapeSection(Point[] shapePoints,Point[] earsePoints) //{ // DefaultColor defaultColor = DefaultColor.DefaultColorEx; // Pen drawPen = new Pen(defaultColor.DefaultBackGroundColor); // Color pointColor = defaultColor.DefaultBackGroundColor; // Graphics pe = Graphics.FromImage(bitmap); // for (int i = 1; i < shapePoints.Length; i++) // pe.DrawLine(drawPen, shapePoints[i - 1].X, shapePoints[i - 1].Y, shapePoints[i].X, shapePoints[i].Y); // if (earsePoints != null) // { // for (int i = 0; i < earsePoints.Length; i++) // DrawSinglePoint(pe, earsePoints[i], pointColor); // } // pe.Dispose(); //} public void DrawNormalShape(ShapePointInfo shapePointInfos) { Point[] shapePoints = shapePointInfos.ShapePoints; DefaultColor defaultColor = DefaultColor.DefaultColorEx; int[] errorPointIndexs = shapePointInfos.ErrorPointIndexs; int[] warnPointIndexs = shapePointInfos.WarnPointIndex; Pen drawPen = new Pen(defaultColor.DefaultShapeColor); Graphics pe = Graphics.FromImage(bitmap); Color pointColor = defaultColor.DefaultShapeColor; for (int i = 1; i < shapePoints.Length; i++) { pointColor = shapePointInfos.ShapeColor; drawPen.Color = defaultColor.DefaultShapeColor; if (warnPointIndexs != null) { if (Array.IndexOf(warnPointIndexs, i) != -1) { drawPen.Color = defaultColor.DefalultWarnColor; } } if (errorPointIndexs != null) { if (Array.IndexOf(errorPointIndexs, i) != -1) { drawPen.Color = defaultColor.DefaultIrregularColor; pointColor = defaultColor.DefaultIrregularColor; } else if (Array.IndexOf(errorPointIndexs, i - 1) != -1) { drawPen.Color = defaultColor.DefaultIrregularColor; } } pe.DrawLine(drawPen, shapePoints[i - 1].X, shapePoints[i - 1].Y, shapePoints[i].X, shapePoints[i].Y); if (i == 1) { if (errorPointIndexs != null) { if (Array.IndexOf(errorPointIndexs, i - 1) != -1) { pointColor = defaultColor.DefaultIrregularColor; } } DrawSinglePoint(pe, shapePoints[0], pointColor); } DrawSinglePoint(pe, shapePoints[i], pointColor); } pe.Dispose(); }
/// <summary> /// info:要显示的数据 /// color:所用的颜色 /// 字体矩形的最低点 /// </summary> /// <param name="info"></param> /// <param name="color"></param> /// <param name="bottom"></param> public void DrawString(String info, Color color, Point bottom) { DefaultColor defaultColor = DefaultColor.DefaultColorEx; Graphics pe = Graphics.FromImage(bitmap); SolidBrush infoBrush = new SolidBrush(color); Font infoFont = new Font(FontFamily.GenericSerif, 10, FontStyle.Regular); SizeF infoSizeF = pe.MeasureString(info, infoFont); Rectangle rect = new Rectangle(bottom.X - (int)infoSizeF.Width - 5, bottom.Y - (int)infoSizeF.Height - 5, (int)infoSizeF.Width + 10, (int)infoSizeF.Height + 10); if (textRect != null && textRect != Rectangle.Empty) { pe.FillRectangle(new SolidBrush(defaultColor.DefaultBackGroundColor), textRect); } textRect = rect; pe.DrawString(info, infoFont, infoBrush, rect); pe.Dispose(); }
public bool setColor(int r, int g, int b, String bgpa, String bgps, bool DarkMode) { this.DarkMode = DarkMode; this.Theme = 4; this.Tran.Color = Color.FromArgb(0, 0, 0, 0); DefaultColor defaultColor = new DefaultColor(DarkMode); if (DarkMode) { Card.Color = Color.FromArgb(204, 62, 62, 66); } else { Card.Color = Color.FromArgb(204, 255, 255, 255); } Main.Color = Color.FromArgb(255, byte.Parse(r.ToString()), byte.Parse(g.ToString()), byte.Parse(b.ToString())); if (r * 0.299 + g * 0.578 + b * 0.114 >= 192) { //浅色 FontM.Color = Color.FromArgb(255, 0, 0, 0); } else { //深色 FontM.Color = Color.FromArgb(255, 255, 255, 255); } if (DarkMode) { Font.Color = Color.FromArgb(255, 255, 255, 255); } else { Font.Color = Color.FromArgb(255, 0, 0, 0); } Fg = defaultColor.Fgbrush; Bg = defaultColor.Bgbrush; Fonts = defaultColor.font; DBg = defaultColor.DBgbrush; Bgp = defaultColor.Bgp; Bgpa = defaultColor.Bgpa; Bgps = defaultColor.Bgps; return(true); }
public virtual ExtendedMaterial Convert(PlaneImageBrush brush) { #pragma warning disable 612,618 Image image = brush.Image; #pragma warning restore 612,618 if (!string.IsNullOrEmpty(brush.FilePath)) { image = Image.FromFile(brush.FilePath); } else if (!string.IsNullOrEmpty(brush.ResourceName)) { image = (Image)Resources.ResourceManager.GetObject(brush.ResourceName); } if (image != null && brush.RotateFlipType != RotateFlipType.RotateNoneFlipNone) { image.RotateFlip(brush.RotateFlipType); } LastTextureResult = Texture.FromStream(_device, image.ToStream(ImageFormat.Jpeg)); ExtendedMaterial m = DefaultColor.GetDirectXMaterial(); return(m); }
private void Redraw() { this.entityCanvas.Children.Clear(); this.entityMap.Clear(); this.currentlySelected.Clear(); var supported = SupportedPrimitiveTypes; var defaultColor = DefaultColor.ToColor(); foreach (var layer in Drawing.GetLayers().Where(l => l.IsVisible)) { var layerColor = layer.Color ?? defaultColor; foreach (var entity in layer.GetEntities()) { var entityColor = entity.Color ?? layerColor; foreach (var prim in entity.GetPrimitives()) { var primitiveColor = prim.Color ?? entityColor; AddPrimitive(prim, primitiveColor, entity, supported, entityCanvas); } } } }
private void SetDefaultColor(DefaultColor color) { switch (color) { case DefaultColor.Gray: defaultColor.Front = Brushes.LightGray.Color; defaultColor.Top = Brushes.DarkGray.Color; defaultColor.Right = Brushes.DarkGray.Color; break; case DefaultColor.Yellow: defaultColor.Front = Brushes.LightYellow.Color; defaultColor.Top = Brushes.LightGoldenrodYellow.Color; defaultColor.Right = Brushes.LightGoldenrodYellow.Color; break; case DefaultColor.Red: defaultColor.Front = Brushes.Red.Color; defaultColor.Top = Brushes.DarkRed.Color; defaultColor.Right = Brushes.DarkRed.Color; break; case DefaultColor.Blue: defaultColor.Front = Brushes.LightBlue.Color; defaultColor.Top = Brushes.CadetBlue.Color; defaultColor.Right = Brushes.CadetBlue.Color; break; case DefaultColor.Black: defaultColor.Front = Brushes.DarkGray.Color; defaultColor.Top = Brushes.Black.Color; defaultColor.Right = Brushes.Black.Color; break; } // SetBoxColor(defaultColor); }
async Task ProcessSurface(SpatialSurfaceInfo surface, bool convertToLH) { var mesh = await surface.TryComputeLatestMeshAsync(trianglesPerCubicMeter, options).AsTask().ConfigureAwait(false); if (observer == null || mesh == null) { RemoveSurfaceFromCache(surface.Id); return; } var bounds = mesh.SurfaceInfo.TryGetBounds(currentCoordinateSystem); if (bounds == null) { RemoveSurfaceFromCache(surface.Id); return; } var transform = mesh.CoordinateSystem.TryGetTransformTo(currentCoordinateSystem); if (transform == null) { RemoveSurfaceFromCache(surface.Id); return; } // convert from RH to LH coordinate system int rhToLh = convertToLH ? -1 : 1; //1. TriangleIndices var trianglesBytes = mesh.TriangleIndices.Data.ToArray(); var indeces = new short[mesh.TriangleIndices.ElementCount]; int indexOffset = 0; for (int i = 0; i < mesh.TriangleIndices.ElementCount; i++) { //DirectXPixelFormat.R16UInt var index = BitConverter.ToInt16(trianglesBytes, indexOffset); indexOffset += 2; indeces[i] = index; } var vertexCount = mesh.VertexPositions.ElementCount; var vertexRawData = mesh.VertexPositions.Data.ToArray(); var vertexScale = mesh.VertexPositionScale; var normalsRawData = mesh.VertexNormals.Data.ToArray(); var vertexColor = DefaultColor.ToUInt(); var vertexData = new SpatialVertex[vertexCount]; //2,3 - VertexPositions and Normals for (int i = 0; i < vertexCount; i++) { //VertexPositions: DirectXPixelFormat.R16G16B16A16IntNormalized short x = BitConverter.ToInt16(vertexRawData, i * 8 + 0); short y = BitConverter.ToInt16(vertexRawData, i * 8 + 2); short z = BitConverter.ToInt16(vertexRawData, i * 8 + 4); //short to float: float xx = (x == -32768) ? -1.0f : x * 1.0f / (32767.0f); float yy = (y == -32768) ? -1.0f : y * 1.0f / (32767.0f); float zz = (z == -32768) ? -1.0f : z * 1.0f / (32767.0f); //Normals: DirectXPixelFormat.R8G8B8A8IntNormalized var normalX = normalsRawData[i * 4 + 0]; var normalY = normalsRawData[i * 4 + 1]; var normalZ = normalsRawData[i * 4 + 2]; //merge vertex+normals for Urho3D (also, change RH to LH coordinate systems) vertexData[i].PositionX = xx * vertexScale.X; vertexData[i].PositionY = yy * vertexScale.Y; vertexData[i].PositionZ = rhToLh * zz * vertexScale.Z; vertexData[i].NormalX = normalX == 0 ? 0 : 255 / normalX; vertexData[i].NormalY = normalY == 0 ? 0 : 255 / normalY; vertexData[i].NormalZ = normalZ == 0 ? 0 : rhToLh * 255 / normalZ; //Vertex color vertexData[i].ColorUint = vertexColor; } var boundsRotation = new Quaternion(rhToLh * bounds.Value.Orientation.X, rhToLh * bounds.Value.Orientation.Y, bounds.Value.Orientation.Z, bounds.Value.Orientation.W); var boundsCenter = new Vector3(bounds.Value.Center.X, bounds.Value.Center.Y, rhToLh * bounds.Value.Center.Z); var boundsExtents = new Vector3(bounds.Value.Extents.X, bounds.Value.Extents.Y, bounds.Value.Extents.Z); var transformValue = transform.Value; Matrix4 transformUrhoMatrix; unsafe { transformUrhoMatrix = *(Matrix4 *)(void *)&transformValue; } var surfaceInfo = new HoloLens.SpatialMeshInfo { SurfaceId = surface.Id.ToString(), Date = surface.UpdateTime, VertexData = vertexData, IndexData = indeces, BoundsCenter = boundsCenter, BoundsRotation = boundsRotation, Extents = boundsExtents, Transform = transformUrhoMatrix, }; currentHoloApp.HandleSurfaceUpdated(surfaceInfo); }
private static Color ParseColor(PluginConfiguration config, DefaultColor color) { string configValue = config.GetValue(color.ConfigurationName(), Colors.ToString(color.DefaultValue())); return(Colors.Parse(configValue, color.DefaultValue())); }
/// <summary> /// Gets a constant-color source. /// </summary> /// <param name="color"></param> /// <returns></returns> public static IColorSource Constant(DefaultColor color) { return(new ConstantColorSource(color)); }
public ConstantColorSource(DefaultColor color) { this.color = color.Value(); this.id = Colors.ToString(color); }
/// <summary> /// Gets the value for this color, as specified in the configuration file. /// </summary> /// <param name="defaultColor"></param> /// <returns></returns> public static Color Value(this DefaultColor defaultColor) { switch (defaultColor) { case DefaultColor.Off: return(defaultColor.DefaultValue()); case DefaultColor.ToggleLED: return(Configuration.toggleLEDColor); case DefaultColor.HighResource: return(Configuration.highResourceColor); case DefaultColor.MediumResource: return(Configuration.mediumResourceColor); case DefaultColor.LowResource: return(Configuration.lowResourceColor); case DefaultColor.ReactionWheelNormal: return(Configuration.reactionWheelNormalColor); case DefaultColor.ReactionWheelPilotOnly: return(Configuration.reactionWheelPilotOnlyColor); case DefaultColor.ReactionWheelSASOnly: return(Configuration.reactionWheelSasOnlyColor); case DefaultColor.DockingCrossfeedOn: return(Configuration.dockingCrossfeedOnColor); case DefaultColor.DockingCrossfeedOff: return(Configuration.dockingCrossfeedOffColor); case DefaultColor.CrewPilot: return(Configuration.crewPilotColor); case DefaultColor.CrewEngineer: return(Configuration.crewEngineerColor); case DefaultColor.CrewScientist: return(Configuration.crewScientistColor); case DefaultColor.CrewTourist: return(Configuration.crewTouristColor); case DefaultColor.ResourceLFO: return(Configuration.lfoColor); case DefaultColor.ResourceLiquidFuel: return(Configuration.liquidFuelColor); case DefaultColor.ResourceOxidizer: return(Configuration.oxidizerColor); case DefaultColor.ResourceMonopropellant: return(Configuration.monopropellantColor); case DefaultColor.HighScience: return(Configuration.highScienceColor); case DefaultColor.MediumScience: return(Configuration.mediumScienceColor); case DefaultColor.LowScience: return(Configuration.lowScienceColor); case DefaultColor.Warning: return(Configuration.warningColor); case DefaultColor.Unknown: return(Configuration.unknownColor); default: return(defaultColor.DefaultValue()); } }
protected override void SetDefaultStyle() { SmoothOpacity.ValueToGo = DefaultOpacity; ColorChanger.MyColorToGo = DefaultColor.Duplicate(); }
protected virtual void SetDefaultStyle() { ColorChanger.MyColorToGo = DefaultColor.Duplicate(); }
/// <summary> /// Get the name of the enum as listed in the configuration file. /// </summary> /// <param name="defaultColor"></param> /// <returns></returns> public static string ConfigurationName(this DefaultColor defaultColor) { return(defaultColor.ToString() + "Color"); }
private void Rectangle_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e) { DefaultColor?.Invoke(this, new EventArgs()); f = false; }
/// <summary> /// Given a default color, produce a string of it that is parseable via Parse. /// </summary> /// <param name="id"></param> /// <returns></returns> public static string ToString(DefaultColor id) { return("$" + id.ToString()); }
public bool setColor(int ColorID, bool DarkMode) { this.DarkMode = DarkMode; this.Theme = ColorID; this.Tran.Color = Color.FromArgb(0, 0, 0, 0); switch (ColorID) { case 1: default: { DefaultColor defaultColor = new DefaultColor(DarkMode); Card = defaultColor.Cardbrush; Main = defaultColor.Mainbrush; Font = defaultColor.Fontbrush; FontM = defaultColor.FontMbrush; Fg = defaultColor.Fgbrush; Bg = defaultColor.Bgbrush; Fonts = defaultColor.font; DBg = defaultColor.DBgbrush; Bgp = defaultColor.Bgp; Bgpa = defaultColor.Bgpa; Bgps = defaultColor.Bgps; } break; case 2: { BLCOrange defaultColor = new BLCOrange(DarkMode); Card = defaultColor.Cardbrush; Main = defaultColor.Mainbrush; Font = defaultColor.Fontbrush; FontM = defaultColor.FontMbrush; Fg = defaultColor.Fgbrush; Bg = defaultColor.Bgbrush; Fonts = defaultColor.font; DBg = defaultColor.DBgbrush; Bgp = defaultColor.Bgp; Bgpa = defaultColor.Bgpa; Bgps = defaultColor.Bgps; } break; case 3: { LTCatBlue defaultColor = new LTCatBlue(DarkMode); Card = defaultColor.Cardbrush; Main = defaultColor.Mainbrush; Font = defaultColor.Fontbrush; FontM = defaultColor.FontMbrush; Fg = defaultColor.Fgbrush; Bg = defaultColor.Bgbrush; Fonts = defaultColor.font; DBg = defaultColor.DBgbrush; Bgp = defaultColor.Bgp; Bgpa = defaultColor.Bgpa; Bgps = defaultColor.Bgps; } break; } return(true); }
async Task ProcessSurface(SpatialSurfaceInfo surface) { var mesh = await surface.TryComputeLatestMeshAsync(trianglesPerCubicMeter, options).AsTask().ConfigureAwait(false); if (observer == null || mesh == null) { RemoveSurfaceFromCache(surface.Id); return; } var bounds = mesh.SurfaceInfo.TryGetBounds(currentCoordinateSystem); if (bounds == null) { RemoveSurfaceFromCache(surface.Id); return; } var transform = mesh.CoordinateSystem.TryGetTransformTo(currentCoordinateSystem); if (transform == null) { RemoveSurfaceFromCache(surface.Id); return; } //1. TriangleIndices var trianglesBytes = mesh.TriangleIndices.Data.ToArray(); var indeces = new short[mesh.TriangleIndices.ElementCount]; int indexOffset = 0; for (int i = 0; i < mesh.TriangleIndices.ElementCount; i++) { //DirectXPixelFormat.R16UInt var index = BitConverter.ToInt16(trianglesBytes, indexOffset); indexOffset += 2; indeces[i] = index; } var vertexCount = mesh.VertexPositions.ElementCount; var vertexRawData = mesh.VertexPositions.Data.ToArray(); var vertexScale = mesh.VertexPositionScale; var normalsRawData = mesh.VertexNormals.Data.ToArray(); var vertexColor = DefaultColor.ToUInt(); var vertexData = new SpatialVertex[vertexCount]; var boundsRotation = new Quaternion(-bounds.Value.Orientation.X, -bounds.Value.Orientation.Y, bounds.Value.Orientation.Z, bounds.Value.Orientation.W); var boundsCenter = new Vector3(bounds.Value.Center.X, bounds.Value.Center.Y, -bounds.Value.Center.Z); var boundsExtents = new Vector3(bounds.Value.Extents.X, bounds.Value.Extents.Y, bounds.Value.Extents.Z); var transformValue = transform.Value; Matrix4 transformUrhoMatrix; unsafe { transformUrhoMatrix = *(Matrix4 *)(void *)&transformValue; } //these values won't change, let's declare them as consts const int vertexStride = 16; // (int) mesh.VertexPositions.Stride; const int normalStride = 16; // (int) mesh.VertexNormals.Stride; //2,3 - VertexPositions and Normals for (int i = 0; i < vertexCount; i++) { var positionX = BitConverter.ToSingle(vertexRawData, i * vertexStride + 0); var positionY = BitConverter.ToSingle(vertexRawData, i * vertexStride + 4); //4 per X,Y,Z,W (stride is 16) var positionZ = BitConverter.ToSingle(vertexRawData, i * vertexStride + 8); //also, we don't need the W component. var normalX = BitConverter.ToSingle(normalsRawData, i * normalStride + 0); var normalY = BitConverter.ToSingle(normalsRawData, i * normalStride + 4); var normalZ = BitConverter.ToSingle(normalsRawData, i * normalStride + 8); //merge vertex+normals for Urho3D (also, change RH to LH coordinate systems) vertexData[i].PositionX = positionX * vertexScale.X; vertexData[i].PositionY = positionY * vertexScale.Y; vertexData[i].PositionZ = -positionZ * vertexScale.Z; vertexData[i].NormalX = normalX; vertexData[i].NormalY = normalY; vertexData[i].NormalZ = -normalZ; //Vertex color (for VCol techniques) vertexData[i].ColorUint = vertexColor; } var surfaceInfo = new SharpReality.SpatialMeshInfo { SurfaceId = surface.Id.ToString(), Date = surface.UpdateTime, VertexData = vertexData, IndexData = indeces, BoundsCenter = boundsCenter, BoundsRotation = boundsRotation, Extents = boundsExtents, Transform = transformUrhoMatrix, }; currentHoloApp.HandleSurfaceUpdated(surfaceInfo); }
/// <summary> /// Gets the default value to use for this color if no configuration is available. /// </summary> /// <param name="defaultColor"></param> /// <returns></returns> public static Color DefaultValue(this DefaultColor defaultColor) { switch (defaultColor) { case DefaultColor.Off: return(Color.black); case DefaultColor.ToggleLED: return(Color.green); case DefaultColor.HighResource: return(Color.green); case DefaultColor.MediumResource: return(Color.yellow * 0.7f); case DefaultColor.LowResource: return(Color.red * 0.5f); case DefaultColor.ReactionWheelNormal: return(Color.green); case DefaultColor.ReactionWheelPilotOnly: return(Color.blue); case DefaultColor.ReactionWheelSASOnly: return(Color.yellow * 0.7f); case DefaultColor.DockingCrossfeedOn: return(Color.green * 0.7f); case DefaultColor.DockingCrossfeedOff: return(Color.red * 0.6f); case DefaultColor.CrewPilot: return(Color.Lerp(new Color(0.5f, 0.3f, 0, 1), Color.gray, 0.1f)); case DefaultColor.CrewEngineer: return(Color.Lerp(Color.green * 0.6f, Color.gray, 0.1f)); case DefaultColor.CrewScientist: return(Color.Lerp(Color.blue, Color.gray, 0.1f)); case DefaultColor.CrewTourist: return(Color.gray); case DefaultColor.ResourceLFO: return(Color.Lerp(DefaultColor.ResourceLiquidFuel.DefaultValue(), DefaultColor.ResourceOxidizer.DefaultValue(), 0.5f)); case DefaultColor.ResourceLiquidFuel: return(Color.green); case DefaultColor.ResourceOxidizer: return(new Color(0.1f, 0.4f, 1, 1)); case DefaultColor.ResourceMonopropellant: return(0.9f * new Color(0.9f, 0.76f, 0, 1)); case DefaultColor.HighScience: return(new Color(0f, 0.85f, 0.15f)); case DefaultColor.MediumScience: return(Color.yellow * 0.6f); case DefaultColor.LowScience: return(Color.red * 0.45f); case DefaultColor.Warning: return(Color.red); case DefaultColor.Unknown: return(Color.magenta); default: // this should only happen if there's a bug... return(DefaultValue(DefaultColor.Unknown)); } }