34 lines
1.1 KiB
Python
Executable file
34 lines
1.1 KiB
Python
Executable file
import bpy
|
|
import json
|
|
import os
|
|
import glob
|
|
|
|
class Object:
|
|
def to_JSON(self):
|
|
if bpy.data.worlds[0]['CGMinimize'] == True:
|
|
return json.dumps(self, default=lambda o: o.__dict__, separators=(',',':'))
|
|
else:
|
|
return json.dumps(self, default=lambda o: o.__dict__, sort_keys=True, indent=4)
|
|
|
|
def get_fp():
|
|
s = bpy.data.filepath.split(os.path.sep)
|
|
s.pop()
|
|
return os.path.sep.join(s)
|
|
|
|
def fetch_script_names():
|
|
user_preferences = bpy.context.user_preferences
|
|
addon_prefs = user_preferences.addons['armory'].preferences
|
|
sdk_path = addon_prefs.sdk_path
|
|
wrd = bpy.data.worlds[0]
|
|
wrd.bundled_scripts_list.clear()
|
|
os.chdir(sdk_path + '/armory/Sources/armory/trait')
|
|
for file in glob.glob('*.hx'):
|
|
wrd.bundled_scripts_list.add().name = file.rsplit('.')[0]
|
|
wrd.scripts_list.clear()
|
|
sources_path = get_fp() + '/Sources/' + wrd.CGProjectPackage
|
|
if os.path.isdir(sources_path):
|
|
os.chdir(sources_path)
|
|
for file in glob.glob('*.hx'):
|
|
wrd.scripts_list.add().name = file.rsplit('.')[0]
|
|
os.chdir(get_fp())
|