private void DrawTransparentBox(MatrixD matrix, BoundingBoxD bb, Color?lineColor = null, bool drawBorder = true) { count++; Color color = Color.FromNonPremultiplied(new Vector4(0.1f, 0.1f, 0.1f, 0.7f)); MySimpleObjectDraw.DrawTransparentBox(ref matrix, ref bb, ref color, MySimpleObjectRasterizer.Solid, 1, 0.04f, MyStringId.GetOrCompute("HoneyComb"), null, false); if (!drawBorder) { return; } var setting = NaniteConstructionManager.BeaconTerminalSettings[BeaconBlock.EntityId]; var diff = (float)bb.Max.Max() / NaniteConstructionManager.Settings.AreaBeaconMaxSize; float lineSize = (0.1f * diff) + 0.01f; Color checkLineColor = Color.FromNonPremultiplied(new Vector4(1f, 1f, 1f, 0.7f)); if (lineColor.HasValue) { checkLineColor = lineColor.Value; } foreach (var item in bb.GetLines()) { var to = Vector3D.Transform(item.To, matrix); var from = Vector3D.Transform(item.From, matrix); var dir = Vector3D.Normalize(to - from); var length = (to - from).Length(); MyTransparentGeometry.AddLineBillboard(MyStringId.GetOrCompute("Firefly"), checkLineColor, from, dir, (float)length, lineSize); } }