feat(battle-engine): full Unity/VFX/god-object shims + expanded copy closure (2570 files)
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.
This commit is contained in:
116
SVSim.BattleEngine/Engine/Wizard.Dialog.Setting/ItemSlider.cs
Normal file
116
SVSim.BattleEngine/Engine/Wizard.Dialog.Setting/ItemSlider.cs
Normal file
@@ -0,0 +1,116 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user