forked from SaracenOne/sar1_mocap_manager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsar1_mcp_importer.gd
52 lines (38 loc) · 1.31 KB
/
sar1_mcp_importer.gd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
@tool
extends EditorImportPlugin
class_name MCPImporter
const mocap_functions_const = preload("sar1_mocap_functions.gd")
const mocap_constants_const = preload("sar1_mocap_constants.gd")
func _get_importer_name():
return "mcp_importer"
func _get_import_order() -> int:
return 0
func _get_visible_name() -> String:
return "Mocap Data"
func _get_recognized_extensions() -> PackedStringArray:
return PackedStringArray(["mcp"])
func _get_save_extension() -> String:
return "scn"
func _get_resource_type() -> String:
return "PackedScene"
func _get_preset_count() -> int:
return 1
func _get_preset_name(i) -> String:
return "Default"
func _get_import_options(option : String, i : int) -> Array:
return []
func _get_priority() -> float:
return 1.0
func _import(source_file, save_path, options, platform_variants, gen_files) -> int:
var mocap_recording = MocapRecording.new(source_file)
if mocap_recording.open_file_read() == OK:
mocap_recording.parse_file()
mocap_recording.close_file()
var packed_scene: PackedScene = mocap_functions_const.create_packed_scene_for_mocap_recording(mocap_recording)
if packed_scene:
var filename: String = save_path + "." + _get_save_extension()
ResourceSaver.save(packed_scene, filename)
return OK
else:
printerr("Could not open mocap file for reading")
return FAILED