| 2037 | } |
| 2038 | |
| 2039 | void Engine::register_singleton(const StringName &p_name, Object *p_object) { |
| 2040 | ERR_FAIL_COND_MSG(has_singleton(p_name), vformat("Singleton already registered: '%s'.", String(p_name))); |
| 2041 | ERR_FAIL_COND_MSG(!String(p_name).is_valid_ascii_identifier(), vformat("Singleton name is not a valid identifier: '%s'.", p_name)); |
| 2042 | ::Engine::Singleton s; |
| 2043 | s.class_name = p_name; |
| 2044 | s.name = p_name; |
| 2045 | s.ptr = p_object; |
| 2046 | s.user_created = true; |
| 2047 | ::Engine::get_singleton()->add_singleton(s); |
| 2048 | } |
| 2049 | |
| 2050 | void Engine::unregister_singleton(const StringName &p_name) { |
| 2051 | ERR_FAIL_COND_MSG(!has_singleton(p_name), vformat("Attempt to remove unregistered singleton: '%s'.", String(p_name))); |
nothing calls this directly
no test coverage detected