armory/blender/arm/space_armory.py
2017-03-15 12:30:14 +01:00

74 lines
2.1 KiB
Python
Executable file

# Embedded player in Armory Space
import bpy
from bpy.types import Header
from bpy.app.translations import contexts as i18n_contexts
import arm.utils
import arm.make as make
import arm.make_state as state
import arm.log as log
class ArmorySpaceHeader(Header):
bl_space_type = 'VIEW_ARMORY'
def draw(self, context):
layout = self.layout
view = context.space_data
obj = context.active_object
toolsettings = context.tool_settings
row = layout.row(align=True)
row.template_header()
row.operator('arm.space_stop', icon='MESH_PLANE')
if state.is_paused:
row.operator('arm.space_resume', icon="PLAY")
else:
row.operator('arm.space_pause', icon="PAUSE")
layout.label(log.header_info_text)
class ArmorySpaceStopButton(bpy.types.Operator):
'''Switch back to 3D view'''
bl_idname = 'arm.space_stop'
bl_label = 'Stop'
def execute(self, context):
area = bpy.context.area
if area == None:
area = state.play_area
area.type = 'VIEW_3D'
state.is_paused = False
log.clear()
return{'FINISHED'}
class ArmorySpacePauseButton(bpy.types.Operator):
'''Pause rendering'''
bl_idname = 'arm.space_pause'
bl_label = 'Pause'
def execute(self, context):
state.is_paused = True
return{'FINISHED'}
class ArmorySpaceResumeButton(bpy.types.Operator):
'''Resume rendering'''
bl_idname = 'arm.space_resume'
bl_label = 'Resume'
def execute(self, context):
state.is_paused = False
return{'FINISHED'}
def register():
if arm.utils.with_krom():
bpy.utils.register_class(ArmorySpaceHeader)
bpy.utils.register_class(ArmorySpaceStopButton)
bpy.utils.register_class(ArmorySpacePauseButton)
bpy.utils.register_class(ArmorySpaceResumeButton)
def unregister():
if arm.utils.with_krom():
bpy.utils.unregister_class(ArmorySpaceHeader)
bpy.utils.unregister_class(ArmorySpaceStopButton)
bpy.utils.unregister_class(ArmorySpacePauseButton)
bpy.utils.unregister_class(ArmorySpaceResumeButton)