Skip to content
This repository was archived by the owner on Dec 21, 2019. It is now read-only.

Commit d3637db

Browse files
committed
Auto create Unity Component
1 parent 1487d90 commit d3637db

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
using Rocket.API.DependencyInjection;
22
using Rocket.API.Scheduler;
33
using Rocket.UnityEngine.Scheduling;
4+
using UnityEngine;
45

56
namespace Rocket.UnityEngine.Properties
67
{
78
public class DependencyRegistrator : IDependencyRegistrator
89
{
910
public void Register(IDependencyContainer container, IDependencyResolver resolver)
1011
{
11-
container.RegisterSingletonType<ITaskScheduler, UnityTaskScheduler>();
12+
GameObject o = new GameObject();
13+
Object.DontDestroyOnLoad(o);
14+
var component = o.AddComponent<UnityTaskScheduler>();
15+
component.Load(container);
16+
container.RegisterInstance<ITaskScheduler>(component);
1217
}
1318
}
1419
}

Rocket.UnityEngine/Scheduling/UnityTaskScheduler.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ namespace Rocket.UnityEngine.Scheduling
1212
{
1313
public class UnityTaskScheduler : MonoBehaviour, ITaskScheduler
1414
{
15-
private readonly IDependencyContainer container;
16-
private readonly List<ITask> tasks;
15+
private IDependencyContainer container;
16+
private List<ITask> tasks;
1717
public ReadOnlyCollection<ITask> Tasks => tasks.AsReadOnly();
1818

19-
public UnityTaskScheduler(IDependencyContainer container)
19+
public void Load(IDependencyContainer container)
2020
{
2121
this.container = container;
2222
tasks = new List<ITask>();

0 commit comments

Comments
 (0)