30 lines
707 B
GDScript3
30 lines
707 B
GDScript3
|
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
|