using asap.core;
using EnhancedUI.EnhancedScroller;
using EventPartnerGather;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
namespace UI.PartnerGather.ScrollItems
{
public class EventPartnerGatherScrollViewAutoMatch : EnhancedScrollerCellView
{
public BtnSwitch btnSwitch;
public GameObject bgLight;
public GameObject textTab1;
public GameObject textTab2;
public Button btnOff;
private CompositeDisposable _disposables = new();
private AutoMatchState _state;
private Button _btnSwitchButton;
private bool _hostReady;
///
/// 宿主在 GetCellView 绑定后调用:应用存档/业务状态并解锁交互。列表回收复用后每次展示都会 OnEnable 加锁,须再次调用。
///
public void ApplyHostBinding(AutoMatchState state)
{
ELog($"ApplyHostBinding state={state}");
_hostReady = true;
_state = state;
UpdateState(_state);
SetInteractionLocked(false);
// BtnSwitch.OnEnable 每轮会 AddListener,回收复用后叠多条;GetCellView 在 OnEnable 之后调用,此处收口为单条
if (btnSwitch)
btnSwitch.RemoveAndReAddOnListener();
}
private void Awake()
{
if (btnSwitch)
_btnSwitchButton = btnSwitch.GetComponent