public override void Give(float multiplier) { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); userProfileModel.UpdateCurrency(CurrencyType.Respect, RespectIncome * multiplier); userProfileModel.UpdateCurrency(CurrencyType.Dollar, DollarsIncome * multiplier); }
private void OnBackButtonClick() { if (DynamicParametersManager.Instance.Get(DynamicParameterType.ArtistsCount).Level <= 1) { return; } SetBackButtonActive(false); AudioClipData audioClipData = ConfigManager.Instance.Get <AudioConfig>().OpenPopupAudioClipData; AudioManager.Instance.PlaySoundFx(audioClipData); LoadingScreen loadingScreen = ScreensManager.Instance.GetScreen <LoadingScreen>(); loadingScreen.Initialize(SceneType.Main); loadingScreen.Show(); IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); if (userProfileModel.TutorialStage == (int)TutorialType.ReturnToCity) { TutorialPopup tutorialPopup = PopupManager.Instance.GetPopup <TutorialPopup>(); tutorialPopup.Hide(); userProfileModel.TutorialStage++; } }
private void EndGame() { IUserProfileModel userProfileModel = Get <IUserProfileModel>(); userProfileModel.CurrentCityProgress.exitTime = DateTime.Now; userProfileModel.IsFirstSession = false; userProfileModel.SaveUserProfile(); }
public void Load(IUserProfileModel userProfileModel) { IUserInventory inventory = LoadInventory(); IUserStats userStats = LoadUserStats(); IGameOptions gameOptions = LoadGameOptions(); userProfileModel.UserProfile = new UserProfile(inventory, userStats, gameOptions); }
public override void Give(float multiplier) { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); float value = DynamicParametersManager.Instance.Get(DynamicParameterType.RespectIncomePerBlock).Value *multiplier; userProfileModel.UpdateCurrency(CurrencyType.Respect, value); }
private bool IsCanChooseBuilding(ProductionBuilding building) { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); bool isTutorialCompleted = userProfileModel.TutorialStage > (int)TutorialType.BuyHouse; bool isItCheapestBuilding = building.Equals(GetCheapestBuilding()); bool hasFewUnlockedBuildings = userProfileModel.CurrentCityProgress.UnlockedBuildings > 1; return(isTutorialCompleted || isItCheapestBuilding || hasFewUnlockedBuildings); }
private void OnMusicButtonClick() { PlayClickAudio(); IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); userProfileModel.IsMusicOn = !userProfileModel.IsMusicOn; DisplayMusicStatus(userProfileModel.IsMusicOn); }
public void Initialize() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); string cityNumber = userProfileModel.CurrentCity; AudioClipData audioClipData = ConfigManager.Instance.Get <CityConfig>().GetCityData(cityNumber).AudioClipData; AudioManager.Instance.PlayBackgroundAudio(audioClipData); userProfileModel.CurrentCityProgress.enterTime = DateTime.Now; }
protected override void OnCloseButtonClick() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); if (userProfileModel.TutorialStage <= (int)TutorialType.WatchGraffiti) { return; } base.OnCloseButtonClick(); }
public override void TryToBuy(float price, Action onComplete = null) { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); if (userProfileModel.GetCurrency(CurrencyType.Dollar).Value < price) { return; } onComplete?.Invoke(); userProfileModel.UpdateCurrency(CurrencyType.Dollar, -price); }
public void TryToShowBackButtonTutorial() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); if (userProfileModel.CurrentCityProgress.UnlockedBuildings > 1 || userProfileModel.TutorialStage != (int)TutorialType.ReturnToCity) { return; } TutorialPopup tutorialPopup = PopupManager.Instance.GetPopup <TutorialPopup>(); tutorialPopup.InitializeTutorial(TutorialType.ReturnToCity); tutorialPopup.Show(); }
private void UpdateCameraPos() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); if (userProfileModel.TutorialStage <= (int)TutorialType.WatchGraffiti && userProfileModel.CurrentCityProgress.DrawnBuildings == 0) { return; } Vector3 direction = m_inputService.Direction; Vector3 movement = m_cameraConfig.swipeMapForce * direction.magnitude * m_cameraConfig.movingFactor * direction; Vector2 newPos = m_cameraTargetPos + movement; m_cameraTargetPos = newPos; }
private void SendDrawnEvent() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); DynamicParametersManager dynamicParametersManager = DynamicParametersManager.Instance; AnalyticEvent analyticEvent = new AnalyticEvent(StringConstants.AnalyticsEvents.DrawnGraffiti); analyticEvent.AddParameter(StringConstants.AnalyticsEventsParameters.BuildingId, userProfileModel.OpenedBuildingId); analyticEvent.AddParameter(StringConstants.AnalyticsEventsParameters.CountOfArtists, dynamicParametersManager.Get(DynamicParameterType.ArtistsCount).Value); analyticEvent.AddParameter(StringConstants.AnalyticsEventsParameters.MorePerBlock, dynamicParametersManager.Get(DynamicParameterType.RespectIncomePerBlock).Level); analyticEvent.AddParameter(StringConstants.AnalyticsEventsParameters.RunningSpeed, dynamicParametersManager.Get(DynamicParameterType.RunningSpeed).Level); analyticEvent.AddParameter(StringConstants.AnalyticsEventsParameters.DrawingSpeed, dynamicParametersManager.Get(DynamicParameterType.DrawingSpeed).Level); analyticEvent.AddParameter(StringConstants.AnalyticsEventsParameters.CapacityOfCans, dynamicParametersManager.Get(DynamicParameterType.SprayBottleCapacity).Level); analyticEvent.AddParameter(StringConstants.AnalyticsEventsParameters.CurrencyType, userProfileModel.OpenedBuildingCurrencyType.ToString().ToLower()); }
protected override void OnClaimButtonClick() { base.OnClaimButtonClick(); SendOpenEvent(); LoadingScreen loadingScreen = ScreensManager.Instance.GetScreen <LoadingScreen>(); loadingScreen.Initialize(SceneType); loadingScreen.Show(); IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); userProfileModel.CurrentCityProgress.exitTime = DateTime.Now; }
private void TryToShowSpeedUpTutorial() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); if (userProfileModel.CurrentCityProgress.UnlockedBuildings > 1 || userProfileModel.TutorialStage > (int)TutorialType.SpeedUpArtists) { TryToShowBuyArtistTutorial(); return; } TutorialPopup tutorialPopup = PopupManager.Instance.GetPopup <TutorialPopup>(); tutorialPopup.InitializeTutorial(TutorialType.SpeedUpArtists); tutorialPopup.Show(); ServiceLocator.Instance.Get <InputService>().eventOnPointerDown += OnTutorialPointerDown; }
private void OnArtistAdded() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); if (userProfileModel.TutorialStage == (int)TutorialType.BuyArtists) { userProfileModel.TutorialStage++; TutorialPopup tutorialPopup = PopupManager.Instance.GetPopup <TutorialPopup>(); tutorialPopup.Hide(); } TeamManager.Instance.BusyArtistsCount += 1; var buildings = userProfileModel.CurrentCityProgress.productionBuildings; buildings[userProfileModel.OpenedBuildingId].artistsCount = userProfileModel.OpenedBuildingArtists += 1; SpawnArtist(); }
protected override void OnClaimButtonClick() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); if (userProfileModel.TutorialStage == (int)TutorialType.AddArtist) { return; } userProfileModel.OpenedBuildingArtists = m_targetBuilding.ArtistsCount; if (userProfileModel.TutorialStage == (int)TutorialType.WatchGraffiti) { userProfileModel.TutorialStage += 1; TutorialPopup tutorialPopup = PopupManager.Instance.GetPopup <TutorialPopup>(); tutorialPopup.Hide(); } base.OnClaimButtonClick(); }
private void OnPointerUp() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); Vector2 mousePosition = Input.mousePosition; if (m_inputService.IsDragged || EventSystem.current.IsPointerUnderUI(mousePosition, m_clickableLayer)) { return; } Ray ray = m_mainCamera.ScreenPointToRay(mousePosition); RaycastHit2D hit = Physics2D.GetRayIntersection(ray, Mathf.Infinity, m_productionBuildingLayer); if (hit) { ProductionBuilding productionBuilding = hit.collider.gameObject.GetComponentInParent <ProductionBuilding>(); if (!IsCanChooseBuilding(productionBuilding)) { return; } m_selectedProductionBuilding?.OnUnSelected(); m_selectedProductionBuilding = productionBuilding; m_selectedProductionBuilding.OnSelected(); userProfileModel.OpenedBuildingId = m_selectedProductionBuilding.Id; userProfileModel.OpenedBuildingCurrencyType = m_selectedProductionBuilding.CurrencyType; if (userProfileModel.TutorialStage == (int)TutorialType.OpenHouse) { userProfileModel.TutorialStage += 1; } TryToShowBuyTutorial(productionBuilding); return; } m_selectedProductionBuilding?.OnUnSelected(); }
public void Initialize() { IUserProfileModel userProfileModel = ServiceLocator.Instance.Get <IUserProfileModel>(); m_productionBuildingData = userProfileModel.CurrentCityProgress.GetProductionBuildingData(userProfileModel.OpenedBuildingId); }
public void Save(IUserProfileModel userProfileModel) { SaveInventory(userProfileModel.UserProfile.UserInventory); SaveUserStats(userProfileModel.UserProfile.UserStats); SaveGameOptions(userProfileModel.UserProfile.GameOptions); }