Esempio n. 1
0
    void OnMomentumChangedHandler(MomentumData momentumData)
    {
        // Both the following visually represent gaining/losing an entire point.
        while (momentumData.TotalMomentumPoints > currentTotalMomentumPoints)
        {
            percentageProgressToNextMomentum = 0;
            currentTotalMomentumPoints++;

            momentumBarTransitionsQueue.EnqueueAction(FillAndResetBar());
        }
        while (momentumData.TotalMomentumPoints < currentTotalMomentumPoints)
        {
            percentageProgressToNextMomentum = 0;
            currentTotalMomentumPoints--;

            momentumBarTransitionsQueue.EnqueueAction(EmptyAndResetBar());
        }

        float updatedPercentageProgress = (float)momentumData.ProgressTowardNextMomentum / (float)momentumData.MomentumRequiredForNextPoint;

        if (updatedPercentageProgress != percentageProgressToNextMomentum)
        {
            percentageProgressToNextMomentum = updatedPercentageProgress;

            momentumBarTransitionsQueue.EnqueueAction(UpdateMomentumBarProgress());
        }
    }
Esempio n. 2
0
    void UpdateAbilityMomentumCounters(MomentumData newMomentumData)
    {
        HardwareType[] allEquippedActiveHardware = InventoryController.GetEquippedActiveHardware();
        for (int i = 0; i < abilityMomentumCounters.Length; i++)
        {
            HardwareType activeHardwareType = allEquippedActiveHardware[i];
            if (activeHardwareType != HardwareType.None)
            {
                int newMomentumValue = MomentumManager.GetMomentumPointsByHardwareType(activeHardwareType);

                if (newMomentumValue != displayedMomentumValues[i])
                {
                    Color flashColor = newMomentumValue > displayedMomentumValues[i] ? momentumIncreasedFlashColor : momentumDecreasedFlashColor;

                    Image  momentumCounterImage = abilityMomentumCounters[i].GetComponent <Image>();
                    Sprite counterSprite        = Resources.Load <Sprite>(MOMENTUM_COUNTER_PATH + newMomentumValue.ToString());
                    momentumCounterImage.sprite = counterSprite;

                    StartCoroutine(FlashAbilityMomentumCounter(momentumCounterImage, flashColor));

                    displayedMomentumValues[i] = newMomentumValue;
                }
            }
        }
    }
Esempio n. 3
0
    void UpdateMomentumPointButtons(MomentumData momentumData)
    {
        int availablePoints = momentumData.UnassignedAvailableMomentumPoints;

        if (availablePoints <= 0)
        {
            ToggleMomentumButtons(false);
            return;
        }

        ToggleMomentumButtons(true);

        HardwareType[] activeHardware = InventoryController.GetEquippedActiveHardware();
        for (int i = 0; i < activeHardware.Length; i++)
        {
            HardwareType hardwareType   = activeHardware[i];
            bool         isSlotOccupied = hardwareType != HardwareType.None;
            bool         isMaxedOut     = false;
            if (isSlotOccupied)
            {
                isMaxedOut = momentumData.HardwareTypeToMomentumMap[hardwareType] >= 5;
            }
            assignMomentumButtons[i].interactable = isSlotOccupied && !isMaxedOut;
        }
    }
Esempio n. 4
0
    public static MomentumData LoadMomentumData()
    {
        BinaryFormatter formatter = new BinaryFormatter();
        FileStream      saveFile  = File.Open(MOMENTUM_SAVE_FILE_PATH, FileMode.Open);

        MomentumData loadedInventory = (MomentumData)formatter.Deserialize(saveFile);

        saveFile.Close();
        return(loadedInventory);
    }
Esempio n. 5
0
    public static void SaveMomentumData(MomentumData momentumData)
    {
        if (!Directory.Exists(SAVE_DIRECTORY_PATH))
        {
            Directory.CreateDirectory(SAVE_DIRECTORY_PATH);
        }

        BinaryFormatter formatter = new BinaryFormatter();
        FileStream      saveFile  = File.Create(MOMENTUM_SAVE_FILE_PATH);

        formatter.Serialize(saveFile, momentumData);

        saveFile.Close();
    }
    public void MomentumUpdatePostProcess(MomentumData _datas, float _momentumValue)
    {
        //Updates bloom
        bloom.intensity.value = GetValue(_datas.minMaxBloom, _momentumValue);

        //Updates color grading
        colorGrading.temperature.value = GetValue(_datas.minMaxTemperature, _momentumValue);

        //Updates chromatic aberration
        chromaticAberration.intensity.value = GetValue(_datas.minMaxChromaticAberration, _momentumValue);

        //Updates grain
        grain.intensity.value = GetValue(_datas.minMaxGrain, _momentumValue);
    }
Esempio n. 7
0
    void OnMomentumAssigned(MomentumData momentum)
    {
        ChangeTutorialBub(momentumAssignedBubText);

        MomentumManager.OnMomentumUpdated -= OnMomentumAssigned;
    }
Esempio n. 8
0
 public static void ResetMomentum()
 {
     _currentMomentumData = new MomentumData();
     OnMomentumUpdated(CurrentMomentumData);
 }