Ejemplo n.º 1
0
void PhysicsServerManager::register_server(const String &p_name, CreatePhysicsServerCallback p_creat_callback) {

	ERR_FAIL_COND(!p_creat_callback);
	ERR_FAIL_COND(find_server_id(p_name) != -1);
	physics_servers.push_back(ClassInfo(p_name, p_creat_callback));
	on_servers_changed();
}
Ejemplo n.º 2
0
PhysicsServer *PhysicsServerManager::new_server(const String &p_name) {
	int id = find_server_id(p_name);
	if (id == -1) {
		return NULL;
	} else {
		return physics_servers[id].create_callback();
	}
}
Ejemplo n.º 3
0
void PhysicsServerManager::set_default_server(const String &p_name, int p_priority) {

	const int id = find_server_id(p_name);
	ERR_FAIL_COND(id == -1); // Not found
	if (default_server_priority < p_priority) {
		default_server_id = id;
		default_server_priority = p_priority;
	}
}
Ejemplo n.º 4
0
int Scene_Gang_Manager::sync_to_logic(Block_Buffer &buf, const int64_t gang_id) {
	int64_t server_id = find_server_id(gang_id);
	if (server_id > 0) {
		const Monitor_Unique_ID* monitor_unique_id =
					SCENE_MONITOR->get_monitor_unique_id_by_uuid(server_id, Server_Enum::MONITOR_LOGIC);
		if (!monitor_unique_id) {
			return -1;
		}
		SCENE_MONITOR->send_to_logic(server_id, buf);
	}
	return 0;
}