using asap.core; using System; using UnityEngine; using UniRx; public class HomeRightPanel : MonoBehaviour { protected CompositeDisposable disposables = new CompositeDisposable(); private void Awake() { GContext.OnEvent() .Where(_ => ( _.type == 8 && _.subType > 3) ||(_.type == 4 && _.subType ==11) ||(_.type == 4 && _.subType == 16) || (_.type == 10 && _.subType == 1) || (_.type == 4 && _.subType == 1) || (_.type == 15 && _.subType == 1) ) .Subscribe(FishingEvent).AddTo(disposables); GContext.OnEvent().Subscribe(OnHideHomePanelEvent).AddTo(disposables); } private void OnHideHomePanelEvent(HideHomePanelEvent e) { Destroy(this); } void FishingEvent(TargetEvent targetEvent) { if (targetEvent.type == 8) { transform.Find("btn_luckycards").gameObject.SetActive(true); } else if (targetEvent.type == 10 && targetEvent.subType == 1) { transform.Find("btn_challenge").gameObject.SetActive(true); } else if (targetEvent.type == 4 && targetEvent.subType == 1) { transform.Find("btn_sanddig").gameObject.SetActive(true); } else if (targetEvent is { type: 15, subType: 1 } ) { transform.Find("btn_partner").gameObject.SetActive(true); } else if (targetEvent is { type: 4, subType: 11 } || targetEvent is { type: 4, subType: 16 }) { transform.Find("btn_cube_melt").gameObject.SetActive(true); } } void OnDestroy() { disposables?.Dispose(); disposables = null; } }