Files
SVSimServer/SVSim.BattleEngine/Engine/UtilityDrumrollItem.cs
gamer147 824309ec44 feat(battle-engine): close the AI-simulation subsystem (verbatim)
Copied the 89 uncopied AI*SimulationUtility/extension files defining the
AIVirtualCard/AIVirtualField extension methods; the compile loop then auto-closed
the revealed type deps (~3049 files total, drift-clean). 10.0k -> 62 errors.
2026-06-05 20:30:59 -04:00

63 lines
1.5 KiB
C#

using UnityEngine;
using Wizard;
[RequireComponent(typeof(UIDragScrollView), typeof(UICenterOnClick), typeof(UIEventListener))]
[RequireComponent(typeof(BoxCollider))]
public class UtilityDrumrollItem : MonoBehaviour
{
[SerializeField]
private UILabel _childLabel;
[SerializeField]
private UtilityDrumrollItemCustomize _customizeItem;
private const float COLOR_DIFF_Y = 20f;
private UIPanel _scrollView;
private Vector2 _scrollSize = Vector2.zero;
public int _index { get; private set; }
public UtilityDrumrollItemCustomize CustomizeItem => _customizeItem;
public void Init(UIPanel scroll, int index, string text)
{
_index = index;
_childLabel.text = text;
_scrollView = scroll;
_scrollSize = _scrollView.GetViewSize();
}
private void Update()
{
if (_childLabel != null)
{
float num = _scrollView.clipOffset.y - base.gameObject.transform.localPosition.y;
float num2 = _scrollSize.y / 2f;
float num3 = Mathf.Clamp(Mathf.Abs(num), 0f, num2);
float num4 = Mathf.LerpAngle(0f, 90f, num3 * (num3 / num2) / num2);
if (num > 0f)
{
num4 *= -1f;
}
_childLabel.transform.localEulerAngles = Vector3.right * num4;
Color32 color3;
if (num3 > 20f)
{
Color color = (_childLabel.color = LabelDefine.TEXT_COLOR_B0B0B0);
color3 = color;
}
else
{
Color color = (_childLabel.color = LabelDefine.TEXT_COLOR_NORMAL);
color3 = color;
}
if (_customizeItem != null)
{
_customizeItem.OnUpdate(num4, color3);
}
}
}
}