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()); } }
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; } } } }
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; } }
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); }
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); }
void OnMomentumAssigned(MomentumData momentum) { ChangeTutorialBub(momentumAssignedBubText); MomentumManager.OnMomentumUpdated -= OnMomentumAssigned; }
public static void ResetMomentum() { _currentMomentumData = new MomentumData(); OnMomentumUpdated(CurrentMomentumData); }