备份CatanBuilding瘦身独立工程

This commit is contained in:
JSD\13999
2026-05-26 16:15:54 +08:00
commit 2d0e6a61b7
12001 changed files with 2431925 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
using System;
using DG.Tweening;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
public class BtnSwitch : MonoBehaviour
{
public Button btn_on;
public UnityEvent<bool> onToggle;
bool isOn;
public float movePosX = 60;
private void Awake()
{
btn_on = transform.Find("Scrollbar").GetComponent<Button>();
}
private void OnEnable()
{
btn_on.onClick.AddListener(() => { OnToggle(!isOn); });
}
void OnToggle(bool _isOn)
{
isOn = _isOn;
btn_on.transform.DOKill();
btn_on.transform.DOLocalMoveX(isOn ? movePosX : -movePosX, 0.2f);
onToggle?.Invoke(isOn);
}
public void SetState(bool _isOn)
{
isOn = _isOn;
btn_on.transform.localPosition = new Vector3(isOn ? movePosX : -movePosX, 0, 0);
}
public void SetStateSmooth(bool _isOn)
{
isOn = _isOn;
btn_on.transform.DOKill();
btn_on.transform.DOLocalMoveX(isOn ? movePosX : -movePosX, 0.3f);
}
public void OverrideListener(Action<bool> action)
{
btn_on.onClick.RemoveAllListeners();
btn_on.onClick.AddListener(() => { action(isOn); });
}
void OnDestroy()
{
btn_on.onClick.RemoveAllListeners();
}
}