diff options
author | Mitchell Stokes <mogurijin@gmail.com> | 2016-07-05 08:05:32 +0300 |
---|---|---|
committer | Mitchell Stokes <mogurijin@gmail.com> | 2016-07-28 05:00:35 +0300 |
commit | 3a4c307652e7e58aace0384d7306b28b7626a1d9 (patch) | |
tree | fbf480a5050f0293264dc0d6bcaf6c7be4858340 /release/scripts/startup/bl_ui/properties_physics_field.py | |
parent | a27acefd0c89aab63a6c243a844e2790dfad961a (diff) |
Use COMPAT_ENGINES instead of RenderEngine.use_game_engine for panel poll methods
This mostly affects physics panels. Any engines relying on
RenderEngine.use_game_engine flag to show/hide panels will need to be
updated. The COMPAT_ENGINES technique is how we usually deal with this.
One issue with use_game_engine is that I cannot find a way to set it; it
appears only the BGE can set it. This means (without this commit)
external RenderEngines cannot get rid of the default physics panels.
The RE_GAME flag (the C flag behind use_game_engine) is pretty hacky
and we should look into removing its usage where possible.
Diffstat (limited to 'release/scripts/startup/bl_ui/properties_physics_field.py')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_physics_field.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/release/scripts/startup/bl_ui/properties_physics_field.py b/release/scripts/startup/bl_ui/properties_physics_field.py index 348f66da145..1cebc0496b0 100644 --- a/release/scripts/startup/bl_ui/properties_physics_field.py +++ b/release/scripts/startup/bl_ui/properties_physics_field.py @@ -34,17 +34,18 @@ class PhysicButtonsPanel: @classmethod def poll(cls, context): rd = context.scene.render - return (context.object) and (not rd.use_game_engine) + return (context.object) and (rd.engine in cls.COMPAT_ENGINES) class PHYSICS_PT_field(PhysicButtonsPanel, Panel): bl_label = "Force Fields" + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): ob = context.object rd = context.scene.render - return (not rd.use_game_engine) and (ob.field) and (ob.field.type != 'NONE') + return (rd.engine in cls.COMPAT_ENGINES) and (ob.field) and (ob.field.type != 'NONE') def draw(self, context): layout = self.layout @@ -176,12 +177,13 @@ class PHYSICS_PT_field(PhysicButtonsPanel, Panel): class PHYSICS_PT_collision(PhysicButtonsPanel, Panel): bl_label = "Collision" + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): ob = context.object rd = context.scene.render - return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.collision) + return (ob and ob.type == 'MESH') and (rd.engine in cls.COMPAT_ENGINES) and (context.collision) def draw(self, context): layout = self.layout |