public void ShowSessionProgress(PlayerSessionData sessionData, CurrentSessionTaskData sessionTask, UnityEngine.Events.UnityAction onOKclick) { gameObject.SetActive(true); for (int i = 0; i < sessionTask.tasks.Length; i++) { taskViewer[i].SetActive(true); taskViewer[i].GetComponentInChildren <Toggle>().gameObject.SetActive(true); taskViewer[i].GetComponent <Text>().text = GetLocalizedTaskText(sessionTask.tasks[i].taskType, sessionTask.tasks[i].taskAmount); taskViewer[i].GetComponentInChildren <Toggle>().GetComponent <UnityEngine.UI.Toggle>().isOn = sessionTask.tasks[i].isDone; taskViewer[i].transform.GetChild(1).GetComponent <Text>().text = sessionTask.tasks[i].reward.ToString() + "$"; switch (sessionTask.tasks[i].taskType) { case GameEnums.TaskType.DestroyEnemies: taskViewer[i].transform.GetChild(2).GetComponent <Text>().text = $"{sessionData.defeatedEnemies}"; break; case GameEnums.TaskType.TravelDistance: taskViewer[i].transform.GetChild(2).GetComponent <Text>().text = $"{sessionData.traveledDistance} m"; break; case GameEnums.TaskType.TravelTime: taskViewer[i].transform.GetChild(2).GetComponent <Text>().text = $"{sessionData.traveledTime} sec"; break; default: break; } } totalRewardText.gameObject.SetActive(true); totalRewardText.text = GetLocalizedRewardText(sessionTask.totalReward, PlayerStaticDataHandler.RewardCoinsForSession(sessionData.defeatedEnemies, sessionData.traveledDistance)); okButton.onClick.RemoveAllListeners(); okButton.onClick.AddListener(() => onOKclick.Invoke()); okButton.onClick.AddListener(() => HideWindow()); }
public void UpgradeGunData(GameEnums.GunDataType gunDataTypeToBuy, int cost) { if (PlayerStaticRunTimeData.coins >= cost) { FirePointData.GunConfiguration PlayerConfigFromPath = PlayerStaticRunTimeData.playerTruckData.firePointData.GetConfigOnLocation(gunPoint.locationPath); FirePointData.GunConfiguration CustomizationConfigFromPath = PlayerStaticRunTimeData.customizationTruckData.firePointData.GetConfigOnLocation(gunPoint.locationPath); PlayerConfigFromPath.gunDataType = gunDataTypeToBuy; CustomizationConfigFromPath.gunDataType = gunDataTypeToBuy; currentGunDataType = gunDataTypeToBuy; int gunType = (int)PlayerConfigFromPath.gunDataType; char[] typeNumbersChars = gunType.ToString().ToCharArray(); menuHandler.customization.RateOfFireStat.GetComponent <Slider>().value = typeNumbersChars[0] - 48; menuHandler.customization.DamageStat.GetComponent <Slider>().value = typeNumbersChars[1] - 48; menuHandler.customization.TargetingSpeedStat.GetComponent <Slider>().value = typeNumbersChars[2] - 48; PlayerStaticRunTimeData.coins -= cost; currentGunDataType = gunDataTypeToBuy; PlayerStaticDataHandler.SaveData(PlayerStaticRunTimeData.playerTruckData, new PlayerSessionData(0, 0, 0)); CustomizationState.Instance.RefreshPlayerStats(); } else { WarningWindow.Instance.ShowWarning(WarningStrings.DontHaveMoney()); } }
public static void LoadData() { PlayerSerializableData data = PlayerStaticDataHandler.LoadData(); if (data != null) { playerTruckData.truckType = (GameEnums.Truck)data.truckType; playerTruckData.firePointType = (GameEnums.FirePointType)data.firePointType; for (int i = 0; i < playerTruckData.firePointData.gunsConfigurations.Length; i++) { var config = playerTruckData.firePointData.gunsConfigurations[i]; config.gunType = (GameEnums.Gun)data.gunTypes[i]; config.battleType = (GameEnums.BattleType)data.battleTypes[i]; config.locationPath = (GameEnums.GunLocation)data.locationPaths[i]; config.trackingGroup = (GameEnums.TrackingGroup)data.trackingGroups[i]; config.gunDataType = (GameEnums.GunDataType)data.gunDataTypes[i]; } maxTraveledDistancePerSession = data.maxTraveledDistancePerSession; totalTraveledDistance = data.totalTraveledDistance; maxDefeatedEnemiesPerSession = data.maxDefeatedEnemiesPerSession; totalDefeatedEnemies = data.totalDefeatedEnemies; totalTraveledTime = data.totalTraveledTime; maxTraveledTimePerSession = data.maxTraveledTimePerSession; maxTraveledDistance_1Minute = data.maxTraveledDistance_1Minute; maxTraveledDistance_3Minutes = data.maxTraveledDistance_3Minutes; maxTraveledDistance_5Minutes = data.maxTraveledDistance_5Minutes; coins = data.coins; experience = data.experience; } }
public void BuyTruck(GameEnums.Truck trucktype) { int cost = shopCosts.ItemsCost(trucktype.ToString()); if (PlayerStaticRunTimeData.coins >= cost) { PlayerStaticRunTimeData.playerTruckData.RewriteData(PlayerStaticRunTimeData.customizationTruckData); PlayerStaticRunTimeData.coins -= cost; PlayerStaticDataHandler.SaveData(PlayerStaticRunTimeData.playerTruckData, new PlayerSessionData(0, 0, 0)); MenuHandler.Instance.customization.BuyButton.GetComponentInChildren <Text>().text = ""; menuHandler.customization.UpgradeFirePointButton.SetActive(true); menuHandler.customization.BuyButton.gameObject.SetActive(false); menuHandler.customization.BuyButton.GetComponent <Button>().onClick.RemoveAllListeners(); menuHandler.BackButton.GetComponent <Button>().onClick.RemoveAllListeners(); menuHandler.BackButton.GetComponent <Button>().onClick.AddListener(() => CustomizationState.Instance.BackToSectionsWindow(MenuHandler.Instance)); } else { WarningWindow.Instance.ShowWarning(WarningStrings.DontHaveMoney()); } StartCustomizeTruck(); }
public void SaveCurrentSessionData() { PlayerHandler.PlayerInstance.StopListenTargetCondition(GameEnums.TrackingGroup.FirstTrackingGroup); PlayerHandler.PlayerInstance.truck.trucksCondition.OnCurrentConditionChanged -= UpdatePlayerConditionValueAndSessionComplexity; PlayerHandler.PlayerInstance.truck.trucksCondition.OnZeroCondition -= SaveCurrentSessionData; taskToSession.CheckSession(CurrentSessionProgress()); PlayerStaticRunTimeData.coins += taskToSession.totalReward; PlayerStaticDataHandler.SaveData(PlayerStaticRunTimeData.playerTruckData, currentSessionData); ShowDoneTasks(); }
private void Awake() { PlayerStaticRunTimeData.playerTruckData = playerTruckData; PlayerStaticRunTimeData.customizationTruckData = customizationTruckData; customizationTruckData.RewriteData(playerTruckData); customizationTruckData.firePointData.RewriteData(playerTruckData.firePointData); if (PlayerStaticDataHandler.LoadData() == null) { PlayerStaticRunTimeData.coins = startCoins; PlayerStaticRunTimeData.playerTruckData.ResetData(); PlayerStaticRunTimeData.customizationTruckData.ResetData(); PlayerStaticDataHandler.SaveData(PlayerStaticRunTimeData.playerTruckData, new PlayerSessionData(0, 0, 0)); } else { PlayerStaticRunTimeData.LoadData(); } UnityEngine.SceneManagement.SceneManager.LoadScene("MainMenuWithCustomization"); }
public void BuyGun(GameEnums.Gun guntype) { int cost = CustomizationHandler.Instance.shopCosts.ItemsCost(guntype.ToString()); if (PlayerStaticRunTimeData.coins >= cost) { FirePointData.GunConfiguration PlayerConfigFromPath = PlayerStaticRunTimeData.playerTruckData.firePointData.GetConfigOnLocation(gunPoint.locationPath); FirePointData.GunConfiguration CustomizationConfigFromPath = PlayerStaticRunTimeData.customizationTruckData.firePointData.GetConfigOnLocation(gunPoint.locationPath); PlayerConfigFromPath.gunType = gunTypeToBuy; PlayerConfigFromPath.gunDataType = GameEnums.GunDataType.LrLdLs; CustomizationConfigFromPath.gunType = gunTypeToBuy; CustomizationConfigFromPath.gunDataType = GameEnums.GunDataType.LrLdLs; currentGunDataType = GameEnums.GunDataType.LrLdLs; PlayerStaticRunTimeData.coins -= cost; PlayerStaticDataHandler.SaveData(PlayerStaticRunTimeData.playerTruckData, new PlayerSessionData(0, 0, 0)); menuHandler.customization.BuyButton.GetComponentInChildren <Text>().text = ""; menuHandler.customization.ChangeGunButton.GetComponent <Button>().onClick.RemoveAllListeners(); menuHandler.customization.BuyButton.SetActive(false); menuHandler.customization.BuyButton.GetComponent <Button>().onClick.RemoveAllListeners(); menuHandler.customization.RateOfFireStat.GetComponentInChildren <Button>().onClick.RemoveAllListeners(); menuHandler.customization.DamageStat.GetComponentInChildren <Button>().onClick.RemoveAllListeners(); menuHandler.customization.TargetingSpeedStat.GetComponentInChildren <Button>().onClick.RemoveAllListeners(); menuHandler.customization.GunInfoWindow.SetActive(false); SelectGun(); } else { WarningWindow.Instance.ShowWarning(WarningStrings.DontHaveMoney()); } }
public void PlayGeneralGame(MenuHandler _owner) { PlayerStaticDataHandler.SaveData(PlayerStaticRunTimeData.playerTruckData, new PlayerSessionData(0, 0, 0)); MenuHandler.Instance.ActivateGeneralGameScene(); }
public void PlayGeneralGame(MenuHandler _owner) { PlayerStaticDataHandler.SaveData(PlayerStaticRunTimeData.playerTruckData, new PlayerSessionData(0, 0, 0)); //WarningWindow.Instance.ShowWarning(WarningStrings.LoadGeneralGameWarning()); _owner.ActivateGeneralGameScene(); }