Files
gamer147 957af3d1ec 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.
2026-06-05 17:22:20 -04:00

167 lines
4.3 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Text.RegularExpressions;
using UnityEngine;
using Wizard;
public class IDInput : MonoBehaviour
{
[Serializable]
public class LayoutSet
{
public GameObject _root;
public UILabel[] _label;
}
[SerializeField]
private UIButton[] m_InputBtns;
[SerializeField]
private UIButton m_InputClearBtn;
private UIButton m_InputOKBtn;
[SerializeField]
private LayoutSet[] _layoutSet;
private LayoutSet _currentLayout;
[SerializeField]
private UIButton _pasteButton;
private int InputIndex;
private int _maxIndex;
public DialogBase CurrentDialogBase;
private const string BrankText = "_";
[HideInInspector]
public string InputID { get; set; }
public static IDInput Create(GameObject parentObj)
{
return NGUITools.AddChild(parentObj, UIManager.GetInstance().IdInputPrefab).GetComponent<IDInput>();
}
public static void StartInputDialog(string dialogTitle, int number, Action<string> onDecide)
{
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
dialogBase.SetSize(DialogBase.Size.XL);
dialogBase.SetTitleLabel(dialogTitle);
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.DecisionBtn);
IDInput input = Create(dialogBase.gameObject);
input.CurrentDialogBase = dialogBase;
input.InitInputID(number);
dialogBase.onPushButton1 = delegate
{
onDecide(input.InputID);
};
}
public void InitInputID(int maxCount)
{
InputIndex = 0;
InputID = "";
_maxIndex = maxCount - 1;
for (int i = 0; i < m_InputBtns.Length; i++)
{
UIEventListener uIEventListener = UIEventListener.Get(m_InputBtns[i].gameObject);
uIEventListener.onClick = (UIEventListener.VoidDelegate)Delegate.Combine(uIEventListener.onClick, new UIEventListener.VoidDelegate(InputNum));
}
_pasteButton.onClick.Add(new EventDelegate(delegate
{
Paste();
}));
LayoutSet[] layoutSet = _layoutSet;
foreach (LayoutSet layoutSet2 in layoutSet)
{
if (layoutSet2._label.Length == maxCount)
{
layoutSet2._root.SetActive(value: true);
_currentLayout = layoutSet2;
}
else
{
layoutSet2._root.SetActive(value: false);
}
}
if (_currentLayout == null)
{
Debug.LogError("未知の桁数です");
}
for (int num2 = 0; num2 < _currentLayout._label.Length; num2++)
{
_currentLayout._label[num2].text = "_";
}
UIEventListener uIEventListener2 = UIEventListener.Get(m_InputClearBtn.gameObject);
uIEventListener2.onClick = (UIEventListener.VoidDelegate)Delegate.Combine(uIEventListener2.onClick, new UIEventListener.VoidDelegate(ClearNum));
Invoke("SetButtonEnabled", 0.01f);
}
private void SetButtonEnabled()
{
CurrentDialogBase.SetButtonDisable(isEnableOK: true);
}
public void InputNum(GameObject g)
{
if (InputIndex <= _maxIndex)
{
string text = g.name;
_currentLayout._label[InputIndex].text = text;
JoinNums();
InputIndex++;
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_TOGGLE_ON);
if (InputIndex > _maxIndex)
{
CurrentDialogBase.SetButtonDisable(isEnableOK: false);
}
}
}
public void ClearNum(GameObject g)
{
if (InputIndex > 0)
{
InputIndex--;
_currentLayout._label[InputIndex].text = "_";
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_TOGGLE_OFF);
CurrentDialogBase.SetButtonDisable(isEnableOK: true);
}
}
private void JoinNums()
{
string text = "";
for (int i = 0; i < _currentLayout._label.Length && !(_currentLayout._label[i].text == "_"); i++)
{
text += _currentLayout._label[i].text;
}
InputID = text;
}
private void Paste()
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_TOGGLE_ON);
string clipboard = ClipboardHelper.Clipboard;
clipboard = Regex.Replace(clipboard, "[-]", (Match match) => ((char)(match.Value[0] - 65296 + 48)).ToString());
clipboard = Regex.Replace(clipboard, "\\s", "");
if (UIUtil.IsValidIdDigits(clipboard, _currentLayout._label.Length))
{
for (int num = 0; num < _currentLayout._label.Length; num++)
{
_currentLayout._label[num].text = "_";
}
for (int num2 = 0; num2 < clipboard.Length; num2++)
{
_currentLayout._label[num2].text = clipboard[num2].ToString();
JoinNums();
}
InputIndex = clipboard.Length;
CurrentDialogBase.SetButtonDisable(isEnableOK: false);
}
}
}