public static GameSaver gameSaver; //TODO rm void Start() { IObjectCreator creator = new ObjectCreator(); IInputMamager inputMamager = new InputManager(); IObjectPublisher publisher = new ObjectPubisher(creator, inputMamager); IMeshManager meshManager = new MeshManager(publisher); IGameplayManager gameplayManager = new GameplayManager(meshManager); var updateManagerHolder = new GameObject("UpdateManagerHolder"); updateManagerHolder.AddComponent <UpdateManager>(); updateManagerHolder.AddComponent <Corutinier>(); IUpdateManager updateManager = updateManagerHolder.GetComponent <UpdateManager>(); updateManager.AddSubscriber(gameplayManager); inputMamager.AddSubscriber(gameplayManager); ICorutinier corutinier = updateManagerHolder.GetComponent <Corutinier>(); gameSaver = new GameSaver(gameplayManager); gameSaver.Restore(); //gameplayManager.FillMesh(Constants.HEIGHT-1); //meshFiller.FillMesh(); }