Clean up.

This commit is contained in:
Lubos Lenco 2016-08-15 12:08:50 +02:00
parent 8dc44c5069
commit 7ef3d53945
4 changed files with 56 additions and 30 deletions

View file

@ -2469,6 +2469,8 @@ class ArmoryExporter(bpy.types.Operator, ExportHelper):
reflects.append(at.reflect_prop)
x['parameters'] = [t.start_track_name_prop, names, starts, ends, speeds, loops, reflects]
else: # Script
if t.class_name_prop == '': # Empty class name, skip
continue
x['type'] = 'Script'
if t.type_prop == 'Bundled Script':
trait_prefix = 'armory.trait.'

View file

@ -67,15 +67,14 @@ class ArmoryProjectPanel(bpy.types.Panel):
def draw(self, context):
layout = self.layout
wrd = bpy.data.worlds[0]
layout.prop_search(wrd, "ArmProjectScene", bpy.data, "scenes", "Start Scene")
layout.prop_search(wrd, "ArmProjectScene", bpy.data, "scenes", "Scene")
layout.prop(wrd, 'ArmProjectName')
layout.prop(wrd, 'ArmProjectPackage')
row = layout.row()
row.prop(wrd, 'ArmProjectWidth')
row.prop(wrd, 'ArmProjectHeight')
layout.prop_search(wrd, "ArmKhafile", bpy.data, "texts", "Khafile")
# row = layout.row()
layout.prop(wrd, 'ArmProjectWidth')
layout.prop(wrd, 'ArmProjectHeight')
layout.prop(wrd, 'ArmProjectSamplesPerPixel')
layout.prop(wrd, 'ArmPhysics')
layout.operator("arm.kode")
class ArmoryBuildPanel(bpy.types.Panel):
bl_label = "Armory Build"
@ -86,13 +85,14 @@ class ArmoryBuildPanel(bpy.types.Panel):
def draw(self, context):
layout = self.layout
wrd = bpy.data.worlds[0]
layout.prop(wrd, 'ArmProjectTarget')
layout.operator("arm.build")
row = layout.row(align=True)
row.alignment = 'EXPAND'
row.operator("arm.folder")
row.operator("arm.clean")
layout.prop_search(wrd, "ArmKhafile", bpy.data, "texts", "Khafile")
layout.operator("arm.kode_studio")
# row = layout.row(align=True)
# row.alignment = 'EXPAND'
# row.operator("arm.folder")
layout.operator("arm.clean")
layout.prop(wrd, 'ArmProjectTarget')
layout.prop(wrd, 'ArmPhysics')
layout.prop(wrd, 'ArmCacheShaders')
layout.prop(wrd, 'ArmMinimize')
layout.prop(wrd, 'ArmOptimizeGeometry')
@ -108,7 +108,10 @@ class ArmoryPlayPanel(bpy.types.Panel):
def draw(self, context):
layout = self.layout
wrd = bpy.data.worlds[0]
layout.operator("arm.play")
if play_project.playproc == None and play_project.compileproc == None:
layout.operator("arm.play")
else:
layout.operator("arm.stop")
layout.prop(wrd, 'ArmPlayRuntime')
layout.prop(wrd, 'ArmPlayViewportCamera')
if wrd.ArmPlayViewportCamera:
@ -464,9 +467,9 @@ class ArmoryFolderButton(bpy.types.Operator):
webbrowser.open('file://' + utils.get_fp())
return{'FINISHED'}
class ArmoryKodeButton(bpy.types.Operator):
bl_idname = 'arm.kode'
bl_label = 'Open in Kode Studio'
class ArmoryKodeStudioButton(bpy.types.Operator):
bl_idname = 'arm.kode_studio'
bl_label = 'Kode Studio'
def execute(self, context):
user_preferences = bpy.context.user_preferences
@ -481,13 +484,13 @@ class ArmoryKodeButton(bpy.types.Operator):
else:
kode_path = sdk_path + '/kode_studio/KodeStudio-linux64/kodestudio'
subprocess.Popen([kode_path, utils.get_fp()], shell=True)
subprocess.Popen([kode_path + ' ' + utils.get_fp()], shell=True)
return{'FINISHED'}
class ArmoryCleanButton(bpy.types.Operator):
bl_idname = 'arm.clean'
bl_label = 'Clean Project'
bl_label = 'Clean'
def execute(self, context):
clean_project(self)

View file

@ -96,7 +96,7 @@ def initProperties():
bpy.types.Armature.armature_cached = bpy.props.BoolProperty(name="Armature Cached", default=False)
# For camera
bpy.types.Camera.frustum_culling = bpy.props.BoolProperty(name="Frustum Culling", default=True)
bpy.types.Camera.pipeline_path = bpy.props.StringProperty(name="Pipeline Path", default="deferred_path")
bpy.types.Camera.pipeline_path = bpy.props.StringProperty(name="Render Path", default="deferred_path")
bpy.types.Camera.pipeline_id = bpy.props.StringProperty(name="Pipeline ID", default="deferred")
# TODO: Specify multiple material ids, merge ids from multiple cameras
bpy.types.Camera.pipeline_passes = bpy.props.StringProperty(name="Pipeline passes", default="")
@ -266,10 +266,10 @@ class DataPropsPanel(bpy.types.Panel):
layout.prop(obj.data, 'probe_blending')
layout.prop(obj.data, 'frustum_culling')
layout.prop_search(obj.data, "pipeline_path", bpy.data, "node_groups")
layout.operator("cg.reset_pipelines")
layout.operator("arm.reimport_paths_menu")
elif obj.type == 'MESH' or obj.type == 'FONT':
layout.prop(obj.data, 'static_usage')
layout.operator("cg.invalidate_cache")
layout.operator("arm.invalidate_cache")
elif obj.type == 'LAMP':
layout.prop(obj.data, 'light_clip_start')
layout.prop(obj.data, 'light_clip_end')
@ -287,16 +287,32 @@ class ScenePropsPanel(bpy.types.Panel):
obj = bpy.context.scene
layout.prop(obj, 'game_export')
class OBJECT_OT_RESETPIPELINESButton(bpy.types.Operator):
bl_idname = "cg.reset_pipelines"
bl_label = "Reset Pipelines"
class ReimportPathsMenu(bpy.types.Menu):
bl_label = "Confirm"
bl_idname = "OBJECT_MT_reimport_paths_menu"
def draw(self, context):
layout = self.layout
layout.operator("arm.reimport_paths")
class ReimportPathsButton(bpy.types.Operator):
bl_label = "Reimport Paths"
bl_idname = "arm.reimport_paths_menu"
def execute(self, context):
bpy.ops.wm.call_menu(name=ReimportPathsMenu.bl_idname)
return {"FINISHED"}
class OBJECT_OT_REIMPORTPATHSButton(bpy.types.Operator):
bl_idname = "arm.reimport_paths"
bl_label = "Reimport Paths"
def execute(self, context):
nodes_renderpath.load_library()
return{'FINISHED'}
class OBJECT_OT_INVALIDATECACHEButton(bpy.types.Operator):
bl_idname = "cg.invalidate_cache"
bl_idname = "arm.invalidate_cache"
bl_label = "Invalidate Cache"
def execute(self, context):
@ -321,9 +337,6 @@ class MatsPropsPanel(bpy.types.Panel):
layout.prop(mat, 'override_shader_context')
if mat.override_shader_context:
layout.prop(mat, 'override_shader_context_name')
layout.prop(mat, 'stencil_mask')
layout.prop(mat, 'skip_context')
layout.prop(mat, 'overlay')
layout.prop(mat, 'override_cull')
if mat.override_cull:
layout.prop(mat, 'override_cull_mode')
@ -333,6 +346,9 @@ class MatsPropsPanel(bpy.types.Panel):
# layout.prop(mat, 'override_depthwrite')
# if mat.override_depthwrite:
# layout.prop(mat, 'override_depthwrite_mode')
layout.prop(mat, 'overlay')
layout.prop(mat, 'stencil_mask')
layout.prop(mat, 'skip_context')
# Menu in world region
class WorldPropsPanel(bpy.types.Panel):

View file

@ -170,11 +170,16 @@ class ArmoryEditScriptButton(bpy.types.Operator):
user_preferences = bpy.context.user_preferences
addon_prefs = user_preferences.addons['armory'].preferences
sdk_path = addon_prefs.sdk_path
kode_path = sdk_path + '/KodeStudio/KodeStudio.app/Contents/MacOS/Electron'
if utils.get_os() == 'win':
kode_path = sdk_path + '/kode_studio/KodeStudio-win32/Kode Studio.exe'
elif utils.get_os() == 'mac':
kode_path = '"' + sdk_path + '/kode_studio/Kode Studio.app/Contents/MacOS/Electron"'
else:
kode_path = sdk_path + '/kode_studio/KodeStudio-linux64/kodestudio'
project_path = utils.get_fp()
item = context.object.my_traitlist[context.object.traitlist_index]
hx_path = project_path + '/Sources/' + bpy.data.worlds[0].ArmProjectPackage + '/' + item.class_name_prop + '.hx'
subprocess.call([kode_path + ' ' + utils.get_fp() + ' ' + hx_path + ' &'], shell=True)
subprocess.Popen([kode_path + ' ' + utils.get_fp() + ' ' + hx_path], shell=True)
return{'FINISHED'}
class ArmoryNewScriptDialog(bpy.types.Operator):