void LoadSkinForPrize() { //Has already loaded a prize from before if (skinPrize != null) { spritesForResult.Remove(skinPrize); } var playerSkins = Resources.LoadAll <Sprite>("Sprites/Player/Previews"); List <int> owendSkins = PlayerStatusService.LoadPlayerStatus().GetOwnedShipsIDs(); int[] skinsIds = playerSkins.Select(x => Convert.ToInt32(x.name)).ToArray(); skinsIds = skinsIds.Where(x => !owendSkins.Contains(x)).ToArray(); var ownedIdsStr = owendSkins.Select(x => x.ToString()); playerSkins = playerSkins.Where(x => !ownedIdsStr.Contains(x.name)).ToArray(); if (playerSkins.Length > 0) { skinPrize = GetSkinPrize(skinsIds, playerSkins); spritesForResult.Add(skinPrize); } else { maxValue = spritesForResult.Count - 1; Debug.Log("max value:" + maxValue); } }
public void PullLever() { if (playerData.GetJackpotTokens() > 0 && !gameActive) { LoadSkinForPrize(); leverPullAudioSource.Play(); returnBtn.interactable = false; resultPanelPrizeImg.sprite = spritesForResult[0]; playerData.DecreaseJackpotTokens(1); tokenAmountTxt.text = playerData.GetJackpotTokens().ToString(); PlayerStatusService.SavePlayerStatus(playerData); leverBtn.interactable = false; imageQueue.Enqueue(secondImage); imageQueue.Enqueue(thirdImage); currentRollingImage = firstImage; currentImgValue = 0; isRollingImage = true; StartCoroutine(RollImage()); gameActive = true; EnableButtons(); } else { errorAudioSource.Play(); alertMessageManager.SetAlertMessage(notEnoughTokensMsg); } }
void BuyBuff(ShopBuff item) { PlayerStatusData playerData = PlayerStatusService.LoadPlayerStatus(); if (!item.HasReachedItemMax().Invoke()) { PlayErrorSound(); alertMessageManager.SetAlertMessage(itemMaxReachedMsg); return; } if (PlayerHasEnoughFundsToBuy(item.buffPrice)) { playerScore -= item.buffPrice; item.BuyItem().Invoke(); playerData.DecreaseScore(item.buffPrice); PlayerStatusService.SavePlayerStatus(playerData); LoadPlayerData(); item.DeselectObject(); selectedObjectManager.RemoveSelectedObject(); PlayBuySound(); } else { PlayErrorSound(); alertMessageManager.SetAlertMessage(notEnoughMoneyMsg); } }
void GetPrize(int firstValue, int secondValue, int thirdValue) { resultMsgTxt.text = noRewardJackPot; //All numbers equal if (firstValue == secondValue && secondValue == thirdValue) { //Return best prize var hasPrize = GetPrizeObject(firstValue, true); resultPanel.gameObject.SetActive(true); if (hasPrize) { bestPrizeAudioSource.Play(); } return; } //Two numbers equal int[] nums = new int[3] { firstValue, secondValue, thirdValue }; var numsDic = new Dictionary <int, int>(); int?equalNum = null; for (int i = 0; i < nums.Length; i++) { if (numsDic.ContainsKey(nums[i])) { numsDic[nums[i]]++; equalNum = nums[i]; } else { numsDic.Add(nums[i], 1); } } if (equalNum.HasValue) { //Return second best prize var hasPrize = GetPrizeObject(equalNum.Value, false); resultPanel.gameObject.SetActive(true); if (hasPrize) { prizeAudioSource.Play(); } return; } //return nothing resultPanel.gameObject.SetActive(true); noPrizeAudioSource.Play(); PlayerStatusService.SavePlayerStatus(null); }
public void GiveAdsPrize() { var prize = AdsPrizeService.GetRandomPrize(this.finalScore); prize.GivePrize(this); PlayerStatusService.SavePlayerStatus(PlayerStatusService.LoadPlayerStatus()); prizeAudioSource.Play(); }
void Start() { int dashUpgrades = PlayerStatusService.LoadPlayerStatus().GetDashUpgrade(); if (dashUpgrades > 0) { dashDuration *= dashUpgrades; } }
void StartScoreCountDown(int roundScore) { scoreCounterAudioSource.Play(); //set final score currently equals the total amount the player has currentPlayerScore = PlayerStatusService.LoadPlayerStatus().GetScore(); scoreCountUp = currentPlayerScore - roundScore; gameOverScoreText.text = (currentPlayerScore - roundScore).ToString(); StartCoroutine(ScoreCountDownCoroutine(currentPlayerScore, false)); }
public void DefineShip() { PlayerStatusData playerdata = PlayerStatusService.LoadPlayerStatus(); playerdata.SetSelectedShipId(selectedShip.GetId()); PlayerStatusService.SavePlayerStatus(playerdata); GameObject.Find("SceneManager").GetComponent <ScenesManager>().LoadNewGame(); }
public void SetCulture(string culture) { var playerData = PlayerStatusService.LoadPlayerStatus(); playerData.SetCurrentLanguage(culture); PlayerStatusService.SavePlayerStatus(playerData); scenesManager.LoadMainMenu(); }
private void Start() { PlayerLifeManager playerLifeManager = GetComponent <PlayerLifeManager>(); PlayerStatusData playerData = PlayerStatusService.LoadPlayerStatus(); playerData.SwapStoredShields(); amountShields = playerData.GetShieldBuff(); int initialAmountShields = amountShields; PlayerStatusService.SavePlayerStatus(playerData); UpdateShieldText(); }
protected GameObject LoadShipPrefab() { PlayerStatusData playerData = PlayerStatusService.LoadPlayerStatus(); int selectedShipId = playerData.GetSelectedShipId(); if (selectedShipId == 0) { selectedShipId = 1; } return(Resources.Load <GameObject>("Prefabs/Ships/" + selectedShipId)); }
void LoadPlayerData() { PlayerStatusData playerData = PlayerStatusService.LoadPlayerStatus(); playerScore = playerData.GetScore(); scoreAmountTxt.text = playerScore.ToString(); SetTokensText(playerData.GetJackpotTokens()); SetLivesAmountText(playerData.GetLifeBuff(), playerData.GetLifeUpgrade()); SetShieldsAmountText(playerData.GetShieldBuff(), playerData.GetShieldUpgrade()); SetStoredLifesText(playerData.GetStoreLifePrizes()); SetStoredShieldsText(playerData.GetStoredShieldPrizes()); SetDashUpgradesText(playerData.GetDashUpgrade(), playerData.GetMaxDashUpgrade()); }
private void Start() { if (AudioDataService.HasMusicOn()) { musicAudioSource.Play(); } if (PlayerStatusService.HasPlayerDataFile()) { scenesManager.LoadMainMenu(); } else { englishBtn.SetActive(true); portugueseBtn.SetActive(true); } }
private void Start() { playerSpritesManager = GetComponent <PlayerSpritesManager>(); PlayerStatusData playerData = PlayerStatusService.LoadPlayerStatus(); maxLifes = playerData.GetLifeUpgrade(); playerData.SwapStoredLivesToBuff(); lives += playerData.GetLifeBuff(); UpdateLifeText(); canBeHit = true; PlayerStatusService.SavePlayerStatus(playerData); hitAudioSource.clip.LoadAudioData(); }
public void DecreaseLife() { if (canBeHit) { hitAudioSource.Play(); lives--; PlayerStatusData playerData = PlayerStatusService.LoadPlayerStatus(); //Game Over if (lives <= 0) { SetDummyDeadPlayer(); gameOverManager.TakeScreenShot(); //Stop the score count scoreCounterManager.enabled = false; //Save player stats playerData.SetLifeBuff(0); int finalScore = scoreCounterManager.FinishAndGetFinalScore(); playerData.IncreaseScore(finalScore); PlayerStatusService.SavePlayerStatus(playerData); gameOverManager.SetGameOver(finalScore); DisablePlayer(); UpdateLifeText(); } else { //buffs means extra lives, so we reduce one from total amount of lives the player has playerData.SetLifeBuff(lives - 1); PlayerStatusService.SavePlayerStatus(playerData); UpdateLifeText(); //Make player invulnerable for few seconds SetPlayerInvulnerable(); } } }
private void Start() { notEnoughTokensMsg = "Not enough tokens!"; spritesForResult = new List <Sprite>(); playerData = PlayerStatusService.LoadPlayerStatus(); tokenAmountTxt.text = playerData.GetJackpotTokens().ToString(); imageQueue = new Queue <Image>(); var _spritesForResult = Resources.LoadAll <Sprite>("Sprites/Jackpot/RollingImages"); foreach (var item in _spritesForResult) { spritesForResult.Add(item); } maxValue = (short)(spritesForResult.Count - 1); LoadTextsLanguage(); }
void BuyShip(IShopItem selectedShip) { //Player has enough money? if (!PlayerHasEnoughFundsToBuy(selectedShip.GetPrice())) { PlayErrorSound(); alertMessageManager.SetAlertMessage(notEnoughMoneyMsg); return; } PlayerStatusData playerData = PlayerStatusService.LoadPlayerStatus(); //Player already bought this ship? if (!((IShopCharacterSkin)selectedShip).AlreadyHasShip().Invoke()) { playerScore -= selectedShip.GetPrice(); scoreAmountTxt.text = playerScore.ToString(); selectedShip.BuyItem().Invoke(); PlayerStatusService.SavePlayerStatus(playerData); ((IShopCharacterSkin)selectedShip).DisableCharacterButton(); //Clear data //remove from selectedobjectmanager selectedObjectManager.RemoveSelectedObject(); selectedShip = null; PlayBuySound(); } else { PlayErrorSound(); alertMessageManager.SetAlertMessage(subAlreadyBoughtMsg); } }
bool GetPrizeObject(int prizeNum, bool bestPrize) { bool hasPrize = false; PlayerStatusData playerData = PlayerStatusService.LoadPlayerStatus(); switch (prizeNum) { case 1: //Life Buff GetLifePrize(bestPrize, playerData, prizeNum); hasPrize = true; break; case 2: //Extra Credits XXX resultPanelPrizeImg.sprite = spritesForResult[prizeNum]; if (bestPrize) { resultMsgTxt.text = string.Format("+300 {0}", creditsItem); playerData.IncreaseScore(300); } else { resultMsgTxt.text = string.Format("+50 {0}", creditsItem); playerData.IncreaseScore(50); } hasPrize = true; break; case 3: //Dash Upgrade if (bestPrize && playerData.CanUpgradeDash()) { playerData.IncreaseDashUpgrade(); resultMsgTxt.text = dashUpgradeItem; resultPanelPrizeImg.sprite = spritesForResult[prizeNum]; hasPrize = true; } else { resultMsgTxt.text = twoPointsDashWarningJackPot; } break; case 4: //New Skin if (bestPrize) { resultMsgTxt.text = skinItem; resultPanelPrizeImg.sprite = skinPrize; playerData.GetOwnedShipsIDs().Add(skinPrizeId); hasPrize = true; } else { resultMsgTxt.text = twoPointsSkinsWarningJackPot; } break; } PlayerStatusService.SavePlayerStatus(playerData); return(hasPrize); }