Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
117 lines
2.8 KiB
C#
117 lines
2.8 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace Wizard.Dialog.Setting;
|
|
|
|
public class ItemSlider : Item
|
|
{
|
|
[SerializeField]
|
|
private SettingBase m_parant;
|
|
|
|
[SerializeField]
|
|
private UILabel m_titleLabel;
|
|
|
|
[SerializeField]
|
|
private UILabel m_valueLabel;
|
|
|
|
[SerializeField]
|
|
private UISlider m_slider;
|
|
|
|
[SerializeField]
|
|
private UISprite m_foregroundSprite;
|
|
|
|
[SerializeField]
|
|
private UISprite _foregroundEdgeSprite;
|
|
|
|
[SerializeField]
|
|
private UISprite m_thumbSprite;
|
|
|
|
[SerializeField]
|
|
private GameObject m_separatorLineObj;
|
|
|
|
private const string FOREGROUND_ON_SPRITE_NAME = "gauge_blue_bottom";
|
|
|
|
private const string FOREGROUND_OFF_SPRITE_NAME = "gauge_gray_bottom";
|
|
|
|
private const string FOREGROUND_EDGE_ON_SPRITE_NAME = "gauge_blue_edge";
|
|
|
|
private const string FOREGROUND_EDGE_OFF_SPRITE_NAME = "gauge_gray_edge";
|
|
|
|
private const string THUMB_ON_SPRITE_NAME = "btn_gauge_on";
|
|
|
|
private const string THUMB_OFF_SPRITE_NAME = "btn_gauge_off";
|
|
|
|
private bool m_isPlaySe;
|
|
|
|
private void Awake()
|
|
{
|
|
m_titleLabel.text = string.Empty;
|
|
m_valueLabel.text = string.Empty;
|
|
m_separatorLineObj.SetActive(value: false);
|
|
AddChangeCallback(delegate
|
|
{
|
|
string text = Mathf.CeilToInt(m_slider.value * 10f).ToString();
|
|
bool flag = m_valueLabel.text != text;
|
|
m_valueLabel.text = text;
|
|
if (m_isPlaySe)
|
|
{
|
|
if (flag)
|
|
{
|
|
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BAR_SLIDE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_isPlaySe = true;
|
|
}
|
|
});
|
|
}
|
|
|
|
public void SetValue(float value)
|
|
{
|
|
m_slider.value = value;
|
|
m_isPlaySe = false;
|
|
}
|
|
|
|
public float GetValue()
|
|
{
|
|
return m_slider.value;
|
|
}
|
|
|
|
public void SetTitleLabel(string title)
|
|
{
|
|
m_titleLabel.text = title;
|
|
}
|
|
|
|
public void SetLooks(bool isOn)
|
|
{
|
|
m_foregroundSprite.spriteName = (isOn ? "gauge_blue_bottom" : "gauge_gray_bottom");
|
|
_foregroundEdgeSprite.spriteName = (isOn ? "gauge_blue_edge" : "gauge_gray_edge");
|
|
m_thumbSprite.spriteName = (isOn ? "btn_gauge_on" : "btn_gauge_off");
|
|
}
|
|
|
|
public override void AddChangeCallback(EventDelegate.Callback callback)
|
|
{
|
|
EventDelegate.Add(m_slider.onChange, callback);
|
|
}
|
|
|
|
public void AddDragFinishedCallback(UIProgressBar.OnDragFinished callback)
|
|
{
|
|
UISlider slider = m_slider;
|
|
slider.onDragFinished = (UIProgressBar.OnDragFinished)Delegate.Combine(slider.onDragFinished, callback);
|
|
}
|
|
|
|
public override void SetActive_SeparatorLine(bool isActive)
|
|
{
|
|
m_separatorLineObj.SetActive(isActive);
|
|
}
|
|
|
|
public void SetScrollView(UIScrollView view)
|
|
{
|
|
UIDragScrollView componentInChildren = m_slider.gameObject.GetComponentInChildren<UIDragScrollView>();
|
|
componentInChildren.enabled = true;
|
|
componentInChildren._dragEnabled = false;
|
|
componentInChildren.scrollView = view;
|
|
}
|
|
}
|