public override void Execute() { _loadCalls = new List <LoadCall> { new LoadCall { LoadStatus = LoadStatus.LoadStates, CallSignal = LoadStatesDispatcher, Dependencies = new HashSet <LoadStatus>() }, new LoadCall { LoadStatus = LoadStatus.LoadCities, CallSignal = LoadCitiesDispatcher, Dependencies = new HashSet <LoadStatus> { LoadStatus.LoadStates } }, new LoadCall { LoadStatus = LoadStatus.LoadResources, CallSignal = LoadResourcesDispatcher, Dependencies = new HashSet <LoadStatus>() }, new LoadCall { LoadStatus = LoadStatus.TerrainInitialise, CallSignal = TerrainInitialiseDispatcher, Dependencies = new HashSet <LoadStatus>() }, new LoadCall { LoadStatus = LoadStatus.LoadTerrainHeightmap, CallSignal = LoadTerrainHeightmapDispatcher, Dependencies = new HashSet <LoadStatus> { LoadStatus.TerrainInitialise } } }; FrameSignal.AddListener(OnFrame); LoadingDoneSignal.AddListener(OnLoadingDone); Retain(); }
private void OnFinish() { FrameSignal.RemoveListener(OnFrame); LoadingDoneSignal.RemoveListener(OnLoadingDone); Release(); }