From 655d8d187bfb7c98d8570005cfa8ed5bf10753c4 Mon Sep 17 00:00:00 2001 From: josua Date: Wed, 28 Aug 2019 11:00:06 +1000 Subject: [PATCH] Made register callable inside the mainloop --- src/mainloop/manager/MainloopManager.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/mainloop/manager/MainloopManager.java b/src/mainloop/manager/MainloopManager.java index 7a92c56..121ec90 100755 --- a/src/mainloop/manager/MainloopManager.java +++ b/src/mainloop/manager/MainloopManager.java @@ -12,6 +12,7 @@ import mainloop.time.MainloopTimer; public class MainloopManager { protected ArrayList tasks; + protected ArrayList tasks_to_add = new ArrayList(); protected IMainloopEvent handler; protected boolean running = false; protected MainloopTimer timer; @@ -54,6 +55,18 @@ public class MainloopManager public void update() { + // Does the tasks to add array have content in it + if(tasks_to_add.size() > 0) + { + // Add all the tasks to add + for(MainloopTask task : tasks_to_add) { + tasks.add(task); + } + + // Clear the tasks to add array + tasks_to_add.clear(); + } + // Loop over the tasks for(Iterator i=tasks.iterator();i.hasNext();) { @@ -73,7 +86,7 @@ public class MainloopManager } public void register(IMainloopTask task) { - tasks.add(new MainloopTask(task)); + tasks_to_add.add(new MainloopTask(task)); } }