/** * Set the default material for a component type. * * @param componentClass * @param material */ public void setDefaultComponentMaterial( Class<? extends RocketComponent> componentClass, Material material) { putString( "componentMaterials", componentClass.getSimpleName(), material == null ? null : material.toStorableString()); }
/** * Get the default material type for the given component. * * @param componentClass * @param type the Material.Type to return. * @return */ public Material getDefaultComponentMaterial( Class<? extends RocketComponent> componentClass, Material.Type type) { String material = get("componentMaterials", componentClass, null); if (material != null) { try { Material m = Material.fromStorableString(material, false); if (m.getType() == type) return m; } catch (IllegalArgumentException ignore) { } } switch (type) { case LINE: return StaticFieldHolder.DEFAULT_LINE_MATERIAL; case SURFACE: return StaticFieldHolder.DEFAULT_SURFACE_MATERIAL; case BULK: return StaticFieldHolder.DEFAULT_BULK_MATERIAL; } throw new IllegalArgumentException("Unknown material type: " + type); }