Build 0.18.9.0

This commit is contained in:
Markus Isberg
2022-06-14 04:14:47 +09:00
parent 4f5a3bf8b9
commit 856f894203
39 changed files with 459 additions and 377 deletions
@@ -40,10 +40,14 @@ namespace Barotrauma
}
}
private static void AddInternal(string name, Task task, Action<Task, object> onCompletion, object userdata)
private static void AddInternal(string name, Task task, Action<Task, object> onCompletion, object userdata, bool addIfFound = true)
{
lock (taskActions)
{
if (!addIfFound)
{
if (taskActions.Any(t => t.Name == name)) { return; }
}
if (taskActions.Count >= MaxTasks)
{
throw new Exception(
@@ -59,6 +63,10 @@ namespace Barotrauma
{
AddInternal(name, task, (Task t, object obj) => { onCompletion?.Invoke(t); }, null);
}
public static void AddIfNotFound(string name, Task task, Action<Task> onCompletion)
{
AddInternal(name, task, (Task t, object obj) => { onCompletion?.Invoke(t); }, null, addIfFound: false);
}
public static void Add<U>(string name, Task task, U userdata, Action<Task, U> onCompletion) where U : class
{