summaryrefslogtreecommitdiff
path: root/Thronefall_v1.0/Decompile/TFUISliderDragArea.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Thronefall_v1.0/Decompile/TFUISliderDragArea.cs')
-rw-r--r--Thronefall_v1.0/Decompile/TFUISliderDragArea.cs127
1 files changed, 127 insertions, 0 deletions
diff --git a/Thronefall_v1.0/Decompile/TFUISliderDragArea.cs b/Thronefall_v1.0/Decompile/TFUISliderDragArea.cs
new file mode 100644
index 0000000..b19b0be
--- /dev/null
+++ b/Thronefall_v1.0/Decompile/TFUISliderDragArea.cs
@@ -0,0 +1,127 @@
+using MoreMountains.Feedbacks;
+using UnityEngine;
+
+public class TFUISliderDragArea : ThronefallUIElement
+{
+ public TFUISlider target;
+
+ public Color dragColor;
+
+ public MMF_Player onStartDrag;
+
+ public MMF_Player onEndDrag;
+
+ private Color defaultColor;
+
+ private bool colorInitialized;
+
+ private bool delayedDisable;
+
+ private bool inDrag;
+
+ private float afterDragCounter;
+
+ public override bool dragable => true;
+
+ protected override void OnApply()
+ {
+ }
+
+ private void Update()
+ {
+ if (!delayedDisable || inDrag)
+ {
+ return;
+ }
+ afterDragCounter += Time.unscaledDeltaTime;
+ if (afterDragCounter > 0.35f)
+ {
+ delayedDisable = false;
+ target.knob.SetActive(value: false);
+ if ((bool)target.tooltip)
+ {
+ target.tooltip.SetActive(value: false);
+ }
+ }
+ }
+
+ protected override void OnClear()
+ {
+ if (!inDrag)
+ {
+ target.knob.SetActive(value: false);
+ if ((bool)target.tooltip)
+ {
+ target.tooltip.SetActive(value: false);
+ }
+ }
+ else
+ {
+ delayedDisable = true;
+ afterDragCounter = 0f;
+ }
+ }
+
+ protected override void OnFocus()
+ {
+ delayedDisable = false;
+ target.knob.SetActive(value: true);
+ if ((bool)target.tooltip)
+ {
+ target.tooltip.SetActive(value: true);
+ }
+ }
+
+ protected override void OnFocusAndSelect()
+ {
+ }
+
+ protected override void OnHardStateSet(SelectionState selectionState)
+ {
+ }
+
+ protected override void OnSelect()
+ {
+ }
+
+ public override void OnDragStart()
+ {
+ inDrag = true;
+ onStartDrag.PlayFeedbacks();
+ if (!colorInitialized)
+ {
+ InitColor();
+ }
+ target.fillImg.color = dragColor;
+ target.knobImg.color = dragColor;
+ }
+
+ public override void OnDrag(Vector2 mousePosition)
+ {
+ target.SetValueByScreenPoint(mousePosition);
+ }
+
+ public override void OnDragEnd()
+ {
+ onEndDrag.PlayFeedbacks();
+ target.fillImg.color = defaultColor;
+ target.knobImg.color = defaultColor;
+ inDrag = false;
+ }
+
+ private void InitColor()
+ {
+ defaultColor = target.fillImg.color;
+ colorInitialized = true;
+ }
+
+ private void OnEnable()
+ {
+ if (!colorInitialized)
+ {
+ InitColor();
+ }
+ target.fillImg.color = defaultColor;
+ inDrag = false;
+ }
+}