/// Constructor /// /// @param localDirector /// The local director owner of the Controller /// protected Controller(LocalDirector localDirector) { m_localDirector = localDirector; if (m_localDirector != null) { m_localDirector.GetService <ControllerService>().SubscribeController(this); } }
/// @param localDirector /// The local director owner of the Controller /// @param view /// The view of the scene /// @param cameraController /// The camera controller /// public LevelController(LocalDirector localDirector, LevelView view) : base(localDirector, view, SceneIdentifiers.k_map) { m_view = view; m_tileFactory = localDirector.GetFactory <TileFactory>(); m_levelService = GlobalDirector.Service <LevelService>(); m_popupService = GlobalDirector.Service <PopupService>(); m_objectiveService = localDirector.GetService <ObjectiveService>(); m_audioService.PlayMusicFadeCross(AudioIdentifiers.k_musicLevel); m_fsm.RegisterStateCallback(k_stateInit, EnterStateInit, null, null); m_fsm.RegisterStateCallback(k_stateLoad, EnterStateLoad, null, null); m_fsm.RegisterStateCallback(k_stateIdle, EnterStateIdle, null, ExitStateIdle); m_fsm.RegisterStateCallback(k_stateShuffle, EnterStateShuffle, null, null); m_fsm.RegisterStateCallback(k_stateResolve, EnterStateResolve, null, ExitStateResolve); m_fsm.RegisterStateCallback(k_stateWin, EnterStateWin, null, null); m_fsm.RegisterStateCallback(k_stateLose, EnterStateLose, null, null); m_fsm.ExecuteAction(k_actionNext); }