This repository has been archived on 2023-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-15 17:42:49 -04:00

30 lines
707 B
GDScript

extends Reference
class_name NakamaAsyncResult
var exception : NakamaException setget _no_set, get_exception
var _ex = null
func _no_set(v):
return
func _init(p_ex = null):
_ex = p_ex
func is_exception():
return get_exception() != null
func get_exception() -> NakamaException:
return _ex as NakamaException
func _to_string():
if is_exception():
return get_exception()._to_string()
return "NakamaAsyncResult<>"
static func _safe_ret(p_obj, p_type : GDScript):
if p_obj is p_type:
return p_obj # Correct type
elif p_obj is NakamaException:
return p_type.new(p_obj) # It's an exception. Incapsulate it
return p_type.new(NakamaException.new()) # It's something else. generate an exception