Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @tool
- extends Node
- enum FLAGS {WATER, FIRE, EARTH}
- var flags: int = 0: set = _set_flags
- func _get_property_list():
- var properties = []
- properties.append({
- "name": "flags",
- "type": TYPE_INT,
- "usage": PROPERTY_USAGE_DEFAULT,
- "hint": PROPERTY_HINT_FLAGS,
- "hint_string": _get_hint_string()
- })
- return properties
- func _get_hint_string() -> String:
- var hint_string := ""
- var i := 0
- for key in FLAGS:
- if (i > 0):
- hint_string += ","
- var bit_flag: int = int(pow(2, FLAGS[key]))
- hint_string += "%s:%s" %[key, bit_flag]
- i += 1
- return hint_string
- func _set_flags(value: int):
- flags = value
- print(_get_flags_data())
- func _get_flags_data() -> Dictionary:
- var result_dict := {}
- for key in FLAGS:
- var bit_flag: int = int(pow(2, FLAGS[key]))
- result_dict[key] = bool(flags & bit_flag)
- return result_dict
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement