Ejemplo n.º 1
0
    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());
    }
Ejemplo n.º 2
0
    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());
        }
    }
Ejemplo n.º 3
0
    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");
    }
Ejemplo n.º 7
0
    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());
        }
    }
Ejemplo n.º 8
0
 public void PlayGeneralGame(MenuHandler _owner)
 {
     PlayerStaticDataHandler.SaveData(PlayerStaticRunTimeData.playerTruckData, new PlayerSessionData(0, 0, 0));
     MenuHandler.Instance.ActivateGeneralGameScene();
 }
Ejemplo n.º 9
0
 public void PlayGeneralGame(MenuHandler _owner)
 {
     PlayerStaticDataHandler.SaveData(PlayerStaticRunTimeData.playerTruckData, new PlayerSessionData(0, 0, 0));
     //WarningWindow.Instance.ShowWarning(WarningStrings.LoadGeneralGameWarning());
     _owner.ActivateGeneralGameScene();
 }