private void ShowMeshes(Part part) { MeshRenderer[] renderers = ModuleControllableEmissive.GetMeshes(part); if ((renderers == null) || (renderers.Length < 1)) { throw GetException("Part has no meshes: " + Logging.GetTitle(part)); } StringBuilder builder = new StringBuilder(); builder.AppendFormat("Part '{0}' has {1} meshes:", Logging.GetTitle(part), renderers.Length); for (int i = 0; i < renderers.Length; ++i) { builder.AppendFormat("\n{0}: {1}", i, DescribeMesh(renderers[i])); } Logging.Log(builder.ToString()); }
private void ShowPart(Part part, string qualifier, string[] arguments) { if (qualifier == null) { Logging.Log(string.Format( "Part '{0}' has {1} meshes, {2} emissives, {3} controllers.", Logging.GetTitle(part), ModuleControllableEmissive.GetMeshes(part).Length, FindModules <ModuleControllableEmissive>(part).Count, FindModules <ModuleEmissiveControllerBase>(part).Count)); return; } if (qualifier == MESHES) { ShowMeshes(part); return; } if (qualifier == EMISSIVES) { ShowModules <ModuleControllableEmissive>(part, "emissives", DescribeEmissive); return; } if (qualifier == CONTROLLERS) { ShowModules <ModuleEmissiveControllerBase>(part, "controllers", DescribeController); return; } if (qualifier == CONTROLLER) { if (arguments.Length < 1) { throw GetException("No controller index specified"); } List <ModuleEmissiveControllerBase> controllers = FindModules <ModuleEmissiveControllerBase>(part); int index = parseInteger(arguments[0], 0, controllers.Count, "controller index"); ShowController(controllers[index], arguments.SubArray(1)); return; } throw GetException("/" + DebugConsole.COMMAND + " " + COMMAND + ": unknown qualifier '" + qualifier + "'"); }