void InitLevel(string[] rows) { GameFieldModel fieldModel = new GameFieldModel(rows); PlayerModel playerModel = new PlayerModel(new FieldBounds(fieldModel.Width, fieldModel.Height), TileUtility.GetTiles(TileType.Body, fieldModel.Tiles)); GameFieldView fieldView = gameField.GetComponent <GameFieldView> (); Player playerView = player.GetComponent <Player> (); PlayerController playerController = new PlayerController(playerModel, playerView); GameFieldController gameFieldController = new GameFieldController(fieldModel, fieldView); LevelModel levelModel = new LevelModel(); LevelView levelView = GetComponent <LevelView> (); StepTimer tickTimer = GetComponent <StepTimer> (); StepTimerController timerController = new StepTimerController(levelModel, playerView, tickTimer); StatusPanelView statusView = statusPanel.GetComponent <StatusPanelView> (); StatusPanelController statusPanelController = new StatusPanelController(levelModel, statusView); SpawnController spawnController = new SpawnController(fieldModel, playerModel); LevelController levelController = new LevelController(playerModel, fieldModel, levelModel, levelView, tickTimer); }
public override NSApplicationTerminateReply ApplicationShouldTerminate(NSApplication sender) { _statusPanelController.Dispose(); _statusPanelController = null; return(NSApplicationTerminateReply.Now); }
/// <summary> /// Panel to display should be the login panel /// </summary> private void SetLoginPanel() { var loginController = new LoginPanelController(); loginController.LoggedIn += (sender, e) => SetStatusPanel(); loginController.QuitButtonClicked += (sender, e) => NSApplication.SharedApplication.Terminate(sender as LoginPanelController); if (_statusPanelController == null) { _statusPanelController = new StatusPanelController(loginController); } else { _statusPanelController.PanelController = loginController; } }
public override NSApplicationTerminateReply ApplicationShouldTerminate(NSApplication sender) { // Clean up all of the panels, and disposable resources if (_usageChecker != null) { _usageChecker.Dispose(); _usageChecker = null; } if (_statusPanelController != null) { _statusPanelController.Dispose(); _statusPanelController = null; } return(NSApplicationTerminateReply.Now); }
/// <summary> /// Panel to display should be the usage status /// </summary> private void SetStatusPanel() { var hashCode = SettingsManager.GetSetting(SettingsManager.KeyHashCode); if (string.IsNullOrWhiteSpace(hashCode)) { SetLoginPanel(); } // Since this is init, we may have a different hash code, so create a new usage checker // TODO: Ideally UsageChecker needs to be refactored out and put into the UsagePanel if (_usageChecker != null) { _usageChecker.Dispose(); } _usageChecker = new UsageChecker(hashCode); // Instantiate the usage panel and hook up the neccessary events var panelController = new UsagePanelController(); panelController.RefreshButtonClicked += (sender, e) => _usageChecker.UpdateUsageInformation(); panelController.QuitButtonClicked += (sender, e) => NSApplication.SharedApplication.Terminate(sender as UsagePanelController); panelController.LogoutButtonClicked += (sender, e) => Logout(); // Whenever the usage checker gets a new value, update the UI _usageChecker.UsageUpdated += (sender, e) => { if (e.UsageInformation != null) { panelController.UpdateUsage(e.UsageInformation); } }; if (_statusPanelController != null) { _statusPanelController.PanelController = panelController; } else { _statusPanelController = new StatusPanelController(panelController); } }
public override void FinishedLaunching(NSObject notification) { _statusPanelController = new StatusPanelController(new PanelController()); }