You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-14 13:41:12 +00:00
Use OrderedHashMap for autoloads to preserve order
This commit is contained in:
@@ -2125,11 +2125,11 @@ bool Main::start() {
|
||||
if (!project_manager && !editor) { // game
|
||||
if (game_path != "" || script != "") {
|
||||
//autoload
|
||||
Map<StringName, ProjectSettings::AutoloadInfo> autoloads = ProjectSettings::get_singleton()->get_autoload_list();
|
||||
OrderedHashMap<StringName, ProjectSettings::AutoloadInfo> autoloads = ProjectSettings::get_singleton()->get_autoload_list();
|
||||
|
||||
//first pass, add the constants so they exist before any script is loaded
|
||||
for (Map<StringName, ProjectSettings::AutoloadInfo>::Element *E = autoloads.front(); E; E = E->next()) {
|
||||
const ProjectSettings::AutoloadInfo &info = E->get();
|
||||
for (OrderedHashMap<StringName, ProjectSettings::AutoloadInfo>::Element E = autoloads.front(); E; E = E.next()) {
|
||||
const ProjectSettings::AutoloadInfo &info = E.get();
|
||||
|
||||
if (info.is_singleton) {
|
||||
for (int i = 0; i < ScriptServer::get_language_count(); i++) {
|
||||
@@ -2140,8 +2140,8 @@ bool Main::start() {
|
||||
|
||||
//second pass, load into global constants
|
||||
List<Node *> to_add;
|
||||
for (Map<StringName, ProjectSettings::AutoloadInfo>::Element *E = autoloads.front(); E; E = E->next()) {
|
||||
const ProjectSettings::AutoloadInfo &info = E->get();
|
||||
for (OrderedHashMap<StringName, ProjectSettings::AutoloadInfo>::Element E = autoloads.front(); E; E = E.next()) {
|
||||
const ProjectSettings::AutoloadInfo &info = E.get();
|
||||
|
||||
RES res = ResourceLoader::load(info.path);
|
||||
ERR_CONTINUE_MSG(res.is_null(), "Can't autoload: " + info.path);
|
||||
|
||||
Reference in New Issue
Block a user