| | 1 | | using DCL.Controllers; |
| | 2 | | using UnityEngine; |
| | 3 | |
|
| | 4 | | namespace DCL |
| | 5 | | { |
| | 6 | | /// <summary> |
| | 7 | | /// Context related to all the systems involved in the execution of decentraland scenes. |
| | 8 | | /// </summary> |
| | 9 | | public class WorldRuntimeContext : System.IDisposable |
| | 10 | | { |
| | 11 | | public readonly IWorldState state; |
| | 12 | | public readonly ISceneController sceneController; |
| | 13 | | public readonly IPointerEventsController pointerEventsController; |
| | 14 | | public readonly ISceneBoundsChecker sceneBoundsChecker; |
| | 15 | | public readonly IWorldBlockersController blockersController; |
| | 16 | | public readonly IRuntimeComponentFactory componentFactory; |
| | 17 | |
|
| 765 | 18 | | public WorldRuntimeContext(IWorldState state, |
| | 19 | | ISceneController sceneController, |
| | 20 | | IPointerEventsController pointerEventsController, |
| | 21 | | ISceneBoundsChecker sceneBoundsChecker, |
| | 22 | | IWorldBlockersController blockersController, |
| | 23 | | IRuntimeComponentFactory componentFactory) |
| | 24 | | { |
| 765 | 25 | | this.state = state; |
| 765 | 26 | | this.sceneController = sceneController; |
| 765 | 27 | | this.pointerEventsController = pointerEventsController; |
| 765 | 28 | | this.sceneBoundsChecker = sceneBoundsChecker; |
| 765 | 29 | | this.blockersController = blockersController; |
| 765 | 30 | | this.componentFactory = componentFactory; |
| 765 | 31 | | } |
| | 32 | |
|
| | 33 | | public void Dispose() |
| | 34 | | { |
| 786 | 35 | | pointerEventsController.Cleanup(); |
| 786 | 36 | | sceneBoundsChecker.Stop(); |
| 786 | 37 | | blockersController.Dispose(); |
| 786 | 38 | | sceneController.Dispose(); |
| 786 | 39 | | } |
| | 40 | | } |
| | 41 | | } |