aboutsummaryrefslogtreecommitdiff
path: root/game/addons/zylann.hterrain/hterrain_resource_saver.gd
blob: be757e8ec6902002863118ecadbc7b693cc80670 (plain) (blame)
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
@tool
class_name HTerrainDataSaver
extends ResourceFormatSaver


const HTerrainData = preload("./hterrain_data.gd")


func _get_recognized_extensions(res: Resource) -> PackedStringArray:
   if res != null and res is HTerrainData:
      return PackedStringArray([HTerrainData.META_EXTENSION])
   return PackedStringArray()


func _recognize(res: Resource) -> bool:
   return res is HTerrainData


func _save(resource: Resource, path: String, flags: int) -> Error:
   if resource.save_data(path.get_base_dir()):
      return OK
   # This can occur if at least one map of the terrain fails to save.
   # It doesnt necessarily mean the entire terrain failed to save.
   return FAILED


# TODO Handle UIDs
# func _set_uid(path: String, uid: int) -> int:
#  ???