//--------------------------------------------------------------------- // Helpers //--------------------------------------------------------------------- private void CustomGUILayout() { // Rate now RateMeDialog.DrawRateDialog(AssetInfo.ASSET_NAME, AssetInfo.ASSET_STORE_ID); // Skybox EditorGUILayout.Space(); EditorGUILayout.PropertyField(_skyboxMaterial); EditorGUILayout.Space(); SkyGUILayout(); EditorGUILayout.Space(); StarsGUILayout(); EditorGUILayout.Space(); SunGUILayout(); EditorGUILayout.Space(); MoonGUILayout(); EditorGUILayout.Space(); CloudsGUILayout(); EditorGUILayout.Space(); GeneralGUILayout(); EditorGUILayout.Space(); }
//--------------------------------------------------------------------- // Helpers //--------------------------------------------------------------------- private void CustomGUILayout() { var skyboxController = SkyboxController.Instance; // Rate now RateMeDialog.DrawRateDialog(AssetInfo.ASSET_NAME, AssetInfo.ASSET_STORE_ID); // Settings SkyGUILayout(); StarsGUILayout(skyboxController.StarsEnabled); SunGUILayout(skyboxController.SunEnabled); MoonGUILayout(skyboxController.MoonEnabled); CloudsGUILayout(skyboxController.CloudsEnabled); }
//--------------------------------------------------------------------- // Helpers //--------------------------------------------------------------------- private void CustomGUILayout() { var skyboxController = SkyboxController.Instance; if (skyboxController == null) { EditorGUILayout.Space(); EditorGUILayout.HelpBox("This component requires the SkyboxController instance to be present in the scene. Please add the SkyboxController prefab to your scene.", MessageType.Error); return; } // Rate dialog RateMeDialog.DrawRateDialog(AssetInfo.ASSET_NAME, AssetInfo.ASSET_STORE_ID); EditorGUILayout.Space(); SkyGUILayout(); StarsGUILayout(skyboxController.StarsEnabled); SunGUILayout(skyboxController.SunEnabled); MoonGUILayout(skyboxController.MoonEnabled); GeneralGUILayout(); }
private void LoadGameAssets() { new GameStringsLoader(_localizedStringsRepository, _gameCulture); _assetsLoader = new AssetsLoader(Content); _assetsLoader.LoadResources(); _mousePointer = _assetsLoader.OtherSprites["manina"]; _soundManager = new SoundManager(_assetsLoader); var gameFactory = new Func <InfartGame>( () => new InfartGame( _assetsLoader, _soundManager, _orchestrator, _settingsRepository, _localizedStringsRepository)); var dialogDefinition = new Rectangle( _matrixScaleProvider.VirtualWidth / 2 - 350, 24, 700, _matrixScaleProvider.VirtualHeight - 60); var rateMeDialog = new RateMeDialog( launchesUntilPrompt: 2, maxRateShowTimes: 2, rateAppUri: _rateMeUri, dialogDefinition: dialogDefinition, font: _assetsLoader.Font, localizedStringsRepository: _localizedStringsRepository, rateMeDialogStrings: _gameCulture.TwoLetterISOLanguageName == "it" ? (RateMeDialogStrings) new DefaultItalianRateMeDialogStrings(GameName) : (RateMeDialogStrings) new DefaultEnglishRateMeDialogStrings(GameName), webPageOpener: _webPageOpener, settingsRepository: _settingsRepository, buttonADefinition: new Rectangle( dialogDefinition.X + 150, dialogDefinition.Y + 350, 140, 40), buttonBDefinition: new Rectangle( dialogDefinition.X + dialogDefinition.Width - 140 - 150, dialogDefinition.Y + 350, 140, 40), backgroundColor: Color.DarkGray.WithAlpha(1f), buttonsBackgroundColor: (new Color(255, 18, 67)).WithAlpha(1f), buttonsShadowColor: Color.Black, backgroundShadowColor: Color.Black.WithAlpha(1f), titleColor: Color.Black, buttonsTextColor: new Color(255, 234, 135), titlePositionOffset: new Vector2(dialogDefinition.Width / 2, 80f), buttonTextPadding: 40f, titlePadding: 160f); var menuFactory = new Func <MainMenuPage>( () => new MainMenuPage( _assetsLoader, rateMeDialog, _soundManager, _matrixScaleProvider, _localizedStringsRepository)); var scoreFactory = new Func <ScorePage>( () => new ScorePage( _assetsLoader, _settingsRepository, _matrixScaleProvider, _localizedStringsRepository)); _orchestrator = new GameOrchestrator( gameFactory, menuFactory, scoreFactory, GraphicsDevice, _assetsLoader, _settingsRepository, _matrixScaleProvider, _webPageOpener, _localizedStringsRepository); _inputListeners = new List <IInputListener>(); if (_isPc) { var mouseListener = new MouseListener(_matrixScaleProvider); mouseListener.MouseDown += MouseListener_MouseClicked; _inputListeners.Add(mouseListener); } else { var touchListener = new TouchListener(_matrixScaleProvider); touchListener.TouchStarted += TouchListener_TouchEnded; var gamepadListener = new GamePadListener(); gamepadListener.ButtonDown += GamepadListener_ButtonDown; _inputListeners.Add(touchListener); _inputListeners.Add(gamepadListener); } var keyboardListener = new KeyboardListener(); keyboardListener.KeyPressed += KeyboardListener_KeyPressed; _inputListeners.Add(keyboardListener); }
private void LoadGameAssets() { new GameStringsLoader(_localizedStringsRepository, _gameCulture); _assetsLoader = new AssetsLoader( Content, _textFileAssetsLoader); _mousePointer = _assetsLoader.Sprites["manina"]; _soundManager = new SoundManager(_assetsLoader); var gameFactory = new Func <RellowGame>( () => new RellowGame( _matrixScaleProvider, _assetsLoader, _orchestrator, _soundManager, _settingsRepository, _localizedStringsRepository)); var dialogDefinition = new Rectangle( 100, 550, _matrixScaleProvider.VirtualWidth - 200, _matrixScaleProvider.VirtualHeight / 3); var rateMeDialog = new RateMeDialog( launchesUntilPrompt: 2, maxRateShowTimes: 2, rateAppUri: _rateMeUri, dialogDefinition: dialogDefinition, font: _assetsLoader.WritingFont, localizedStringsRepository: _localizedStringsRepository, rateMeDialogStrings: _gameCulture.TwoLetterISOLanguageName == "it" ? (RateMeDialogStrings) new DefaultItalianRateMeDialogStrings(_gameName) : (RateMeDialogStrings) new DefaultEnglishRateMeDialogStrings(_gameName), webPageOpener: _webPageOpener, settingsRepository: _settingsRepository, buttonADefinition: new Rectangle( dialogDefinition.X + dialogDefinition.Width / 2 - 250, dialogDefinition.Y + 350, 500, 100), buttonBDefinition: new Rectangle( dialogDefinition.X + dialogDefinition.Width / 2 - 250, dialogDefinition.Y + 500, 500, 100), backgroundColor: Color.DarkGray.WithAlpha(1f), buttonsBackgroundColor: Definitions.PrimaryBackgroundColor.WithAlpha(1f), buttonsShadowColor: Color.Black, backgroundShadowColor: Color.Black.WithAlpha(1f), titleColor: Color.Black, buttonsTextColor: Definitions.PrimaryForegroundColor, titlePositionOffset: new Vector2(dialogDefinition.Width / 2, 80f), buttonTextPadding: 60f, titlePadding: 90f); var mainMenuFactory = new Func <MainMenuPage>( () => new MainMenuPage( _assetsLoader, _orchestrator, _matrixScaleProvider, _localizedStringsRepository, rateMeDialog, _settingsRepository)); _orchestrator = new GameOrchestrator( gameFactory, mainMenuFactory, GraphicsDevice, _matrixScaleProvider, _soundManager, _webPageOpener); _inputListeners = new List <IInputListener>(); if (_isPc) { var mouseListener = new MouseListener(_matrixScaleProvider); mouseListener.MouseDown += MouseListener_MouseClicked; _inputListeners.Add(mouseListener); } else { var touchListener = new TouchListener(_matrixScaleProvider); touchListener.TouchStarted += TouchListener_TouchEnded; var gamepadListener = new GamePadListener(); gamepadListener.ButtonDown += GamepadListener_ButtonDown; _inputListeners.Add(touchListener); _inputListeners.Add(gamepadListener); } // Perchè il back di Android lo prende la tastiera var keyboardListener = new KeyboardListener(); keyboardListener.KeyPressed += KeyboardListener_KeyPressed; _inputListeners.Add(keyboardListener); }
public MainMenuPage( AssetsLoader assetsLoader, GameOrchestrator gameOrchestrator, IScreenTransformationMatrixProvider matrixScaleProvider, ILocalizedStringsRepository localizedStringsRepository, RateMeDialog rateMeDialog, ISettingsRepository settingsRepository) { _backgroundRectangle = new Rectangle(0, 0, matrixScaleProvider.VirtualWidth, matrixScaleProvider.VirtualHeight); var titleFont = assetsLoader.TitleFont; _writingFont = assetsLoader.WritingFont; _rateMeDialog = rateMeDialog ?? throw new ArgumentNullException(nameof(rateMeDialog)); const string titleText = "RELLOW"; _title = new FloatingText( titleText, new DrawingInfos() { Position = new Vector2(matrixScaleProvider.VirtualWidth / 2f, 250f), Origin = titleFont.GetTextCenter(titleText), OverlayColor = _foregroundColor }, titleFont); var playText = localizedStringsRepository.Get(GameStringsLoader.PlayStringKey); _playButton = new FloatingTextButton( playText, new DrawingInfos() { Position = new Vector2(matrixScaleProvider.VirtualWidth / 2f, 850f), Origin = _writingFont.GetTextCenter(playText), OverlayColor = _foregroundColor }, _writingFont, () => { gameOrchestrator.SetGameState(); }); var aboutText = localizedStringsRepository.Get(GameStringsLoader.AboutStringKey); _aboutButton = new FloatingTextButton( aboutText, new DrawingInfos() { Position = new Vector2(matrixScaleProvider.VirtualWidth / 2f, 1150f), Origin = _writingFont.GetTextCenter(aboutText), OverlayColor = _foregroundColor }, _writingFont, () => { gameOrchestrator.SetAboutState(); }); var currentScore = settingsRepository.GetOrSetInt(Definitions.SCORE_KEY, 0); _scoreText = $"{localizedStringsRepository.Get(GameStringsLoader.ScoreStringKey)}:{currentScore}"; _scoreDrawingInfos = new DrawingInfos() { Position = new Vector2(matrixScaleProvider.VirtualWidth / 2f, matrixScaleProvider.VirtualHeight - 250f - 200f), Origin = _writingFont.GetTextCenter(_scoreText), OverlayColor = _scoreColor, Scale = 0.5f }; }
public MainMenuPage( AssetsLoader assets, RateMeDialog rateMeDialog, SoundManager soundManager, IScreenTransformationMatrixProvider matrixScaleProvider, ILocalizedStringsRepository localizedStringsRepository) { _font = assets.Font; _matrixScaleProvider = matrixScaleProvider; _rateMeDialog = rateMeDialog ?? throw new ArgumentNullException(nameof(rateMeDialog)); _soundManager = soundManager ?? throw new ArgumentNullException(nameof(soundManager)); _background = assets.OtherSprites["menuBackground"]; _playText = localizedStringsRepository.Get(GameStringsLoader.PlayButtonString); _scoreText = localizedStringsRepository.Get(GameStringsLoader.ScoreButtonString); _fartText = localizedStringsRepository.Get(GameStringsLoader.FartButtonString); _titleImage = assets.OtherSprites["gameTitle"]; _achievementText = "about"; _titleScalingObject = new ScalingObject(1f, 1.2f, 1.0f); _titleDrawingInfos = new DrawingInfos() { Position = new Vector2(matrixScaleProvider.VirtualWidth / 2f, 100f), Origin = _titleImage.SpriteCenter }; _playScalingObject = new ScalingObject(0.5f, 0.7f, 1f); _playDrawingInfos = new DrawingInfos() { Position = new Vector2(140f, 250f), Origin = _font.GetTextCenter(_playText) }; _playTextSize = _font.MeasureString(_playText); _fartScalingObject = new ScalingObject(0.5f, 0.7f, 1f); _fartDrawingInfos = new DrawingInfos() { Position = new Vector2(140f, 320f), Origin = _font.GetTextCenter(_fartText), OverlayColor = new Color(155, 88, 48) }; _fartTextSize = _font.MeasureString(_fartText); _scoreTextSize = _font.MeasureString(_scoreText); _scoreScalingObject = new ScalingObject(0.5f, 0.7f, 1f); _scoreDrawingInfos = new DrawingInfos() { Position = new Vector2(matrixScaleProvider.VirtualWidth - 150f, 250f), Origin = _font.GetTextCenter(_scoreText) }; _aboutTextSize = _font.MeasureString(_achievementText); _aboutScalingObject = new ScalingObject(0.5f, 0.7f, 1f); _aboutDrawingInfos = new DrawingInfos() { Position = new Vector2(matrixScaleProvider.VirtualWidth - 150f, 320f), Origin = _font.GetTextCenter(_achievementText) }; _soundManager.PlayMenuBackground(); }