diff --git a/korman/properties/prop_lamp.py b/korman/properties/prop_lamp.py new file mode 100644 index 0000000..05e4485 --- /dev/null +++ b/korman/properties/prop_lamp.py @@ -0,0 +1,30 @@ +# 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 bpy.props import * + +class PlasmaLamp(bpy.types.PropertyGroup): + light_group = BoolProperty(name="Group Only", + description="This lamp will only affect materials that reference a group this lamp is a member of", + options=set(), + default=True) + affect_characters = BoolProperty(name="Affect Avatars", + description="This lamp affects avatars (can only be disabled if the lamp is \"Group Only\")", + options=set(), + default=True) + cast_shadows = BoolProperty(name="Cast RT Shadows", + description="This lamp casts runtime shadows", + default=True) diff --git a/korman/ui/ui_lamp.py b/korman/ui/ui_lamp.py new file mode 100644 index 0000000..f598857 --- /dev/null +++ b/korman/ui/ui_lamp.py @@ -0,0 +1,44 @@ +# 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 + +class LampButtonsPanel: + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "data" + + @classmethod + def poll(cls, context): + return (context.object and context.scene.render.engine == "PLASMA_GAME" and + isinstance(context.object.data, bpy.types.Lamp)) + + +class PlasmaLampPanel(LampButtonsPanel, bpy.types.Panel): + bl_label = "Plasma RT Lamp" + + def draw (self, context): + layout = self.layout + rtlamp = context.object.data.plasma_lamp + + split = layout.split() + col = split.column() + col.prop(rtlamp, "light_group") + row = col.row() + row.active = rtlamp.light_group + row.prop(rtlamp, "affect_characters") + + col = split.column() + col.prop(rtlamp, "cast_shadows")