using BitStrap; using UnityEngine; using UnityEngine.UI; public class EquipmentSizeSlider : MonoBehaviour { public Text text; public Slider slider; public Button nextBtn; public Button prevBtn; private EquipmentManager equipmentManager; public EquipmentGUI equipmentGUI; [ReadOnly] public Bait bait; [ReadOnly] public EquipmentObject equipmentObject; public EquipmentParameter hookToWeightParameter; private void Start() { } private void OnEnable() { } public void Refresh() { if ((bool)GlobalSettings.Instance) { equipmentManager = GlobalSettings.Instance.equipmentManager; } if (equipmentObject != null && equipmentObject.sizes.Count > 0) { slider.maxValue = equipmentObject.sizes.Count - 1; } else { slider.maxValue = 0f; } slider.value = equipmentObject.sizes.BinarySearch(equipmentManager.currentSetSpecificParameters.currentHookSize); UpdateValue(); } public void ChangeValue(bool next) { if (next && slider.value < slider.maxValue) { slider.value += 1f; } else if (!next && slider.value > slider.minValue) { slider.value -= 1f; } } public void UpdateValue() { if (equipmentObject != null && equipmentObject.sizes.Count > 0) { text.text = Utilities.GetTranslation("EQUIPMENT_PARAMETERS/SIZE") + ": " + UtilitiesUnits.GetHookSizeString((int)equipmentObject.sizes[(int)slider.value]); equipmentGUI.UpdateEquipVisibility(equipmentManager.currentSetSpecificParameters.currentHookSize != (float)(int)equipmentObject.sizes[(int)slider.value]); } else { text.text = Utilities.GetTranslation("EQUIPMENT_PARAMETERS/SIZE"); } bool canEquipmentBeChanged = equipmentGUI.canEquipmentBeChanged; nextBtn.gameObject.SetActive(slider.value != slider.maxValue && canEquipmentBeChanged); prevBtn.gameObject.SetActive(slider.value != slider.minValue && canEquipmentBeChanged); if (GlobalSettings.Instance.playerSettings.difficulty != PlayerSettingsMy.Difficulty.SIMULATOR) { SetHookToWeightParameter(); } } public void LanguageChanged() { } private void SetHookToWeightParameter() { Bait component = equipmentObject.prefab.GetComponent(); if (component == null) { hookToWeightParameter.gameObject.SetActive(false); return; } int index = (int)equipmentObject.sizes[(int)slider.value]; hookToWeightParameter.gameObject.SetActive(true); FishManager fishManager = GlobalSettings.Instance.fishManager; Vector2 one = Vector2.one; one = ((component.baitType == Bait.BaitType.HOOK) ? fishManager.hookToFishWeight[index] : ((component.baitType != Bait.BaitType.FLY) ? fishManager.lureToFishWeight[index] : fishManager.flyToFishWeight[index])); string paramValue = UtilitiesUnits.GetWeightString(one.x) + " - " + UtilitiesUnits.GetWeightString(one.y); hookToWeightParameter.SetParameter(Utilities.GetTranslation("EQUIPMENT_PARAMETERS/HOOK_TO_WEIGHT"), paramValue); } }