# This file is part of Korman. # # Korman is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Korman is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Korman. If not, see . import bpy from .. import ui_list def swimregion(modifier, layout, context): split = layout.split() col = split.column() col.label("Detector Region:") col.prop(modifier, "region", text="") region_bo = modifier.region col = split.column() col.enabled = region_bo is not None bounds_src = region_bo if region_bo is not None else modifier.id_data col.label("Detector Bounds:") col.prop(bounds_src.plasma_modifiers.collision, "bounds", text="") split = layout.split() col = split.column(align=True) col.label("Buoyancy:") col.prop(modifier, "down_buoyancy", text="Down") col.prop(modifier, "up_buoyancy", text="Up") col = split.column() col.label("Current:") col.prop(modifier, "current_type", text="") if modifier.current_type == "CIRCULAR": col.prop(modifier, "rotation") if modifier.current_type != "NONE": split = layout.split() col = split.column(align=True) col.label("Distance:") col.prop(modifier, "near_distance", text="Near") col.prop(modifier, "far_distance", text="Far") col = split.column(align=True) col.label("Velocity:") col.prop(modifier, "near_velocity", text="Near") col.prop(modifier, "far_velocity", text="Far") layout.prop(modifier, "current") def water_basic(modifier, layout, context): layout.prop(modifier, "wind_object") layout.prop(modifier, "envmap") row = layout.row() row.prop(modifier, "wind_speed") row.prop(modifier, "envmap_radius") layout.separator() split = layout.split() col = split.column() col.prop(modifier, "specular_tint") col.prop(modifier, "specular_alpha", text="Alpha") col.label("Specular:") col.prop(modifier, "specular_start", text="Start") col.prop(modifier, "specular_end", text="End") col.label("Misc:") col.prop(modifier, "noise") col.prop(modifier, "ripple_scale") col = split.column() col.label("Opacity:") col.prop(modifier, "zero_opacity", text="Start") col.prop(modifier, "depth_opacity", text="End") col.label("Reflection:") col.prop(modifier, "zero_reflection", text="Start") col.prop(modifier, "depth_reflection", text="End") col.label("Wave:") col.prop(modifier, "zero_wave", text="Start") col.prop(modifier, "depth_wave", text="End") def _wavestate(modifier, layout, context): split = layout.split() col = split.column() col.label("Size:") col.prop(modifier, "min_length") col.prop(modifier, "max_length") col.prop(modifier, "amplitude") col = split.column() col.label("Behavior:") col.prop(modifier, "chop") col.prop(modifier, "angle_dev") water_geostate = _wavestate water_texstate = _wavestate class ShoreListUI(bpy.types.UIList): def draw_item(self, context, layout, data, item, icon, active_data, active_property, index=0, flt_flag=0): layout.prop(item, "display_name", emboss=False, text="", icon="MOD_WAVE") def water_shore(modifier, layout, context): ui_list.draw_modifier_list(layout, "ShoreListUI", modifier, "shores", "active_shore_index", name_prefix="Shore", name_prop="display_name", rows=2, maxrows=3) # Display the active shore if modifier.shores: shore = modifier.shores[modifier.active_shore_index] layout.prop(shore, "shore_object", icon="MESH_DATA") split = layout.split() col = split.column() col.label("Basic:") col.prop(modifier, "shore_tint") col.prop(modifier, "shore_opacity") col.prop(modifier, "wispiness") col = split.column() col.label("Advanced:") col.prop(modifier, "period") col.prop(modifier, "finger") col.prop(modifier, "edge_opacity") col.prop(modifier, "edge_radius")