mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2025-05-09 15:21:35 +02:00
Now UserManager::_create_user() has a User as a parameter.
This shoukld make it easier to customize user creation. Similar idea to how TerrainWorld's _create_chunk() works.
This commit is contained in:
parent
ca1f9c7674
commit
e9e2e72665
@ -69,11 +69,12 @@ Ref<User> UserManager::_get_user_email(const String &user_email) {
|
||||
}
|
||||
void UserManager::_save_user(Ref<User> user) {
|
||||
}
|
||||
Ref<User> UserManager::_create_user() {
|
||||
Ref<User> u;
|
||||
u.instance();
|
||||
Ref<User> UserManager::_create_user(Ref<User> p_user) {
|
||||
if (!p_user.is_valid()) {
|
||||
p_user.instance();
|
||||
}
|
||||
|
||||
return u;
|
||||
return p_user;
|
||||
}
|
||||
bool UserManager::_is_username_taken(const String &user_name) {
|
||||
return false;
|
||||
@ -124,7 +125,7 @@ void UserManager::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::OBJECT, "ret", PROPERTY_HINT_RESOURCE_TYPE, "User"), "_get_user_email", PropertyInfo(Variant::STRING, "user_email")));
|
||||
BIND_VMETHOD(MethodInfo("_save_user", PropertyInfo(Variant::OBJECT, "user", PROPERTY_HINT_RESOURCE_TYPE, "User")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::OBJECT, "ret", PROPERTY_HINT_RESOURCE_TYPE, "User"), "_create_user"));
|
||||
BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::OBJECT, "ret", PROPERTY_HINT_RESOURCE_TYPE, "User"), "_create_user", PropertyInfo(Variant::OBJECT, "user", PROPERTY_HINT_RESOURCE_TYPE, "User")));
|
||||
|
||||
BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::BOOL, "ret"), "_is_username_taken", PropertyInfo(Variant::STRING, "user_name")));
|
||||
BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::BOOL, "ret"), "_is_email_taken", PropertyInfo(Variant::STRING, "email")));
|
||||
@ -146,7 +147,7 @@ void UserManager::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("_get_user_email", "user_email"), &UserManager::_get_user_email);
|
||||
ClassDB::bind_method(D_METHOD("_save_user", "user"), &UserManager::_save_user);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("_create_user"), &UserManager::_create_user);
|
||||
ClassDB::bind_method(D_METHOD("_create_user", "user"), &UserManager::_create_user);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("_is_username_taken", "user_name"), &UserManager::_is_username_taken);
|
||||
ClassDB::bind_method(D_METHOD("_is_email_taken", "email"), &UserManager::_is_email_taken);
|
||||
|
@ -61,7 +61,7 @@ public:
|
||||
|
||||
virtual void _save_user(Ref<User> user);
|
||||
|
||||
virtual Ref<User> _create_user();
|
||||
virtual Ref<User> _create_user(Ref<User> p_user);
|
||||
|
||||
virtual bool _is_username_taken(const String &user_name);
|
||||
virtual bool _is_email_taken(const String &email);
|
||||
|
@ -246,14 +246,15 @@ void UserManagerDB::_save_user(Ref<User> user) {
|
||||
b->run_query();
|
||||
}
|
||||
}
|
||||
Ref<User> UserManagerDB::_create_user() {
|
||||
Ref<User> u;
|
||||
u.instance();
|
||||
Ref<User> UserManagerDB::_create_user(Ref<User> p_user) {
|
||||
if (!p_user.is_valid()) {
|
||||
p_user.instance();
|
||||
}
|
||||
|
||||
//save_user(u);
|
||||
u->connect("changed", this, "_save_user", varray(u));
|
||||
p_user->connect("changed", this, "_save_user", varray(p_user));
|
||||
|
||||
return u;
|
||||
return p_user;
|
||||
}
|
||||
bool UserManagerDB::_is_username_taken(const String &user_name) {
|
||||
Ref<QueryBuilder> b = get_query_builder();
|
||||
|
@ -65,7 +65,7 @@ public:
|
||||
|
||||
void _save_user(Ref<User> user);
|
||||
|
||||
Ref<User> _create_user();
|
||||
Ref<User> _create_user(Ref<User> p_user);
|
||||
|
||||
bool _is_username_taken(const String &user_name);
|
||||
bool _is_email_taken(const String &email);
|
||||
|
@ -150,13 +150,15 @@ void UserManagerFile::_save_user(Ref<User> user) {
|
||||
|
||||
memdelete(f);
|
||||
}
|
||||
Ref<User> UserManagerFile::_create_user() {
|
||||
Ref<User> u;
|
||||
u.instance();
|
||||
u->set_user_id(-1);
|
||||
u->connect("changed", this, "_save_user", varray(u));
|
||||
Ref<User> UserManagerFile::_create_user(Ref<User> p_user) {
|
||||
if (!p_user.is_valid()) {
|
||||
p_user.instance();
|
||||
p_user->set_user_id(-1);
|
||||
}
|
||||
|
||||
return u;
|
||||
p_user->connect("changed", this, "_save_user", varray(p_user));
|
||||
|
||||
return p_user;
|
||||
}
|
||||
bool UserManagerFile::_is_username_taken(const String &user_name) {
|
||||
// TODO check only the lowercase version, also strip it, so User and UsEr counts as the same
|
||||
|
@ -54,7 +54,7 @@ public:
|
||||
|
||||
virtual void _save_user(Ref<User> user);
|
||||
|
||||
virtual Ref<User> _create_user();
|
||||
virtual Ref<User> _create_user(Ref<User> p_user);
|
||||
|
||||
virtual bool _is_username_taken(const String &user_name);
|
||||
virtual bool _is_email_taken(const String &email);
|
||||
|
@ -68,15 +68,15 @@ Ref<User> UserManagerStatic::_get_user_email(const String &user_email) {
|
||||
void UserManagerStatic::_save_user(Ref<User> user) {
|
||||
//With this class Users are serialized via editor properties, ignore
|
||||
}
|
||||
Ref<User> UserManagerStatic::_create_user() {
|
||||
Ref<User> u;
|
||||
u.instance();
|
||||
Ref<User> UserManagerStatic::_create_user(Ref<User> p_user) {
|
||||
if (!p_user.is_valid()) {
|
||||
p_user.instance();
|
||||
}
|
||||
|
||||
u->set_user_id(_users.size());
|
||||
p_user->set_user_id(_users.size());
|
||||
_users.push_back(p_user);
|
||||
|
||||
_users.push_back(u);
|
||||
|
||||
return u;
|
||||
return p_user;
|
||||
}
|
||||
bool UserManagerStatic::_is_username_taken(const String &user_name) {
|
||||
for (int i = 0; i < _users.size(); ++i) {
|
||||
|
@ -51,7 +51,7 @@ public:
|
||||
|
||||
void _save_user(Ref<User> user);
|
||||
|
||||
Ref<User> _create_user();
|
||||
Ref<User> _create_user(Ref<User> p_user);
|
||||
|
||||
bool _is_username_taken(const String &user_name);
|
||||
bool _is_email_taken(const String &email);
|
||||
|
Loading…
Reference in New Issue
Block a user