diff options
author | Thomas Dinges <blender@dingto.org> | 2011-09-10 02:47:26 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2011-09-10 02:47:26 +0400 |
commit | 015813642b5633fc6917d45fc4fbd5cf3a007345 (patch) | |
tree | a0698b3fe4e43254b7acca4911e35d0b91d1c721 /release/scripts/startup/bl_ui/properties_game.py | |
parent | a7f3e347b7799b73d19adeee0057fce783ca2f32 (diff) |
Fixing bugs after Recast & Detour branch merge!!
* The new NAVMESH Modifier did not show any buttons, console printed errors instead!
* Poll of "PHYSICS_PT_game_obstacles" panel caused errors as well, self instead of cls was used as argument.
* Check to show/hide buttons in "WORLD_PT_game_physics_obstacles" panel did not worked due to wrong ENUM identifier ('None' instead if 'NONE')
* Moved "SCENE_PT_navmesh" panel out of properties_scene.py into the properties_game.py where it belongs and renamed it. Also, don't use abreviations in Panel Headers (Navmesh > Navigaion Mesh)
* Code cleanup, removed unnescecary code.
* bpy.types.Panel > Panel
Diffstat (limited to 'release/scripts/startup/bl_ui/properties_game.py')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_game.py | 73 |
1 files changed, 65 insertions, 8 deletions
diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py index 51f2ece72b8..711b51a5d5f 100644 --- a/release/scripts/startup/bl_ui/properties_game.py +++ b/release/scripts/startup/bl_ui/properties_game.py @@ -195,12 +195,12 @@ class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, Panel): row.prop(game, "collision_margin", text="Margin", slider=True) row.prop(game, "use_collision_compound", text="Compound") -class PHYSICS_PT_game_obstacles(PhysicsButtonsPanel, bpy.types.Panel): - bl_label = "Create obstacle" +class PHYSICS_PT_game_obstacles(PhysicsButtonsPanel, Panel): + bl_label = "Create Obstacle" COMPAT_ENGINES = {'BLENDER_GAME'} @classmethod - def poll(self, context): + def poll(cls, context): game = context.object.game rd = context.scene.render return (game.physics_type in ('DYNAMIC', 'RIGID_BODY', 'SENSOR', 'SOFT_BODY', 'STATIC')) and (rd.engine in cls.COMPAT_ENGINES) @@ -217,9 +217,9 @@ class PHYSICS_PT_game_obstacles(PhysicsButtonsPanel, bpy.types.Panel): layout.active = game.create_obstacle - split = layout.split() - col = split.column() - col.prop(game, "obstacle_radius", text="Radius") + row = layout.row() + row.prop(game, "obstacle_radius", text="Radius") + row.label() class RenderButtonsPanel(): bl_space_type = 'PROPERTIES' @@ -387,6 +387,63 @@ class RENDER_PT_game_display(RenderButtonsPanel, Panel): flow.prop(gs, "show_physics_visualization", text="Physics Visualization") flow.prop(gs, "use_deprecation_warnings") flow.prop(gs, "show_mouse", text="Mouse Cursor") + +class SceneButtonsPanel(): + bl_space_type = 'PROPERTIES' + bl_region_type = 'WINDOW' + bl_context = "scene" + +class SCENE_PT_game_navmesh(SceneButtonsPanel, bpy.types.Panel): + bl_label = "Navigation mesh" + bl_default_closed = True + COMPAT_ENGINES = {'BLENDER_GAME'} + + def draw(self, context): + layout = self.layout + + rd = context.scene.game_settings.recast_data + + layout.operator("object.create_navmesh", text='Build navigation mesh') + + col = layout.column() + col.label(text="Rasterization:") + row = col.row() + row.prop(rd, "cell_size") + row.prop(rd, "cell_height") + + col = layout.column() + col.label(text="Agent:") + split = col.split() + + col = split.column() + col.prop(rd, "agent_height", text="Height") + col.prop(rd, "agent_radius", text="Radius") + + col = split.column() + col.prop(rd, "max_slope") + col.prop(rd, "max_climb") + + col = layout.column() + col.label(text="Region:") + row = col.row() + row.prop(rd, "region_min_size") + row.prop(rd, "region_merge_size") + + col = layout.column() + col.label(text="Polygonization:") + split = col.split() + + col = split.column() + col.prop(rd, "edge_max_len") + col.prop(rd, "edge_max_error") + + split.prop(rd, "verts_per_poly") + + col = layout.column() + col.label(text="Detail Mesh:") + row = col.row() + row.prop(rd, "sample_dist") + row.prop(rd, "sample_max_error") class WorldButtonsPanel(): @@ -512,7 +569,7 @@ class WORLD_PT_game_physics(WorldButtonsPanel, Panel): col.label(text="Logic Steps:") col.prop(gs, "logic_step_max", text="Max") -class WORLD_PT_game_physics_obstacles(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_game_physics_obstacles(WorldButtonsPanel, Panel): bl_label = "Obstacle simulation" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -522,7 +579,7 @@ class WORLD_PT_game_physics_obstacles(WorldButtonsPanel, bpy.types.Panel): gs = context.scene.game_settings layout.prop(gs, "obstacle_simulation", text = "Type") - if gs.obstacle_simulation != 'None': + if gs.obstacle_simulation != 'NONE': layout.prop(gs, "level_height") layout.prop(gs, "show_obstacle_simulation") |