Files
back_cantanBuilding/Assets/Scripts/UI/Setting/FishingMorePanel.cs
2026-05-26 16:15:54 +08:00

205 lines
9.1 KiB
C#

using asap.core;
using game;
using GameCore;
using TMPro;
using UniRx;
using UnityEngine;
using UnityEngine.UI;
public class FishingMorePanel : MonoBehaviour
{
Button btn_setting;
Button btn_debug;
Button btn_mask;
TMP_Text text_name;
Button btn_vip;
Button btn_event;
Button btn_survey;
Button btn_announcement;
Button btn_signin;
Button btn_travelmap;
//Button btn_redeemCode;
Button btn_mail;
TMP_Text text_vipLevel;
TMP_Text text_version;
TMP_Text text_id;
Button btn_copy;
Head head;
Button headButton;
Button btn_achieve;
private CompositeDisposable disposables = new CompositeDisposable();
private Button btnJoin;
//Button btn_leaderboard;
private void Awake()
{
btn_setting = transform.Find("bg/resource/btn_setting").GetComponent<Button>();
btn_debug = transform.Find("bg/btn_debug/btn_green").GetComponent<Button>();
btn_mask = transform.Find("Mask").GetComponent<Button>();
head = transform.Find("bg/btn_head").GetComponent<Head>();
headButton = transform.Find("bg/btn_head").GetComponent<Button>();
text_name = transform.Find("bg/btn_head/text_name").GetComponent<TMP_Text>();
btn_vip = transform.Find("bg/resource/btn_grade").GetComponent<Button>();
btn_event = transform.Find("bg/resource/btn_event").GetComponent<Button>();
btn_announcement = transform.Find("bg/resource/btn_announcement").GetComponent<Button>();
btn_signin = transform.Find("bg/resource/btn_signin").GetComponent<Button>();
//btn_redeemCode = transform.Find("bg/resource/btn_code").GetComponent<Button>();
btn_mail = transform.Find("bg/resource/btn_mail").GetComponent<Button>();
text_vipLevel = transform.Find("bg/resource/btn_grade/p_text_num").GetComponent<TMP_Text>();
text_version = transform.Find("bg/player_info/text_version").GetComponent<TMP_Text>();
text_id = transform.Find("bg/player_info/text_id").GetComponent<TMP_Text>();
btn_copy = transform.Find("bg/player_info/text_id/btn_copy").GetComponent<Button>();
btn_debug.gameObject.SetActive(GContext.container.Resolve<IConfig>().Get("GM", "0") == "1");
GContext.container.Resolve<GuideDataCenter>().InspectTriggerGuide("FishingMorePanel");
btn_event.gameObject.SetActive(true);
btn_achieve = transform.Find("bg/resource/btn_achieve").GetComponent<Button>();
btn_survey = transform.Find("bg/resource/btn_survey").GetComponent<Button>();
btnJoin = transform.Find("bg/resource/btn_join").GetComponent<Button>();
btn_travelmap = transform.Find("bg/resource/btn_travelmap").GetComponent<Button>();
//btn_leaderboard = transform.Find("bg/resource/btn_leaderboard").GetComponent<Button>();
btn_announcement.gameObject.SetActive(false);
}
void Start()
{
text_version.text = $"Ver. {VersionTool.FromLocal().ToVerString()}";
text_id.text = $"ID: {GContext.container.Resolve<IUserService>().CustomId}";
//GContext.OnEvent<ChangeLanguageEvent>().Subscribe(OnChangeLanguage).AddTo(disposables);
//OnChangeLanguage();
headButton.onClick.AddListener(async () =>
{
await UIManager.Instance.ShowUI(UITypes.PlayerHeadPopupPanel);
});
btn_debug.onClick.AddListener(async () =>
{
btn_debug.enabled = false;
await UIManager.Instance.GetUIAsync(UITypes.DeBugPanel);
btn_debug.enabled = true;
});
btn_setting.onClick.AddListener(async () =>
{
btn_setting.enabled = false;
await UIManager.Instance.GetUIAsync(UITypes.SettingPopupPanel);
btn_setting.enabled = true;
});
btn_mask.onClick.AddListener(() => { UIManager.Instance.DestroyUI(UITypes.FishingMorePanel); });
text_name.text = GContext.container.Resolve<IUserService>().DisplayName;
head.SetData(GContext.container.Resolve<IUserService>().AvatarUrl);
btn_vip.gameObject.SetActive(false);// GContext.container.Resolve<PlayerShopData>().IsVIPOpen);
btn_announcement.onClick.AddListener(async () =>
{
btn_announcement.enabled = false;
await UIManager.Instance.ShowUI(UITypes.NoticePopupPanel);
btn_announcement.enabled = true;
});
btn_signin.gameObject.SetActive(GContext.container.Resolve<SigninData>().DailySignIsOpen());
btn_signin.onClick.AddListener(async () =>
{
btn_signin.enabled = false;
await UIManager.Instance.ShowUI(UITypes.EventSignupPopupPanel_2);
btn_signin.enabled = true;
});
//btn_vip.onClick.AddListener(OnClickVip);
text_vipLevel.text = GContext.container.Resolve<PlayerData>().vip.ToString();
btn_copy.onClick.AddListener(() =>
{
GUIUtility.systemCopyBuffer = GContext.container.Resolve<IUserService>().CustomId;
ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_25"));
});
btn_event.onClick.AddListener(OnClickEvent);
GContext.OnEvent<ChangeAvatarEvent>().Subscribe(OnChangeAvatar).AddTo(disposables);
//btn_redeemCode.gameObject.SetActive(GContext.container.Resolve<RedeemCodeService>().IsUnlock);
//// btn_redeemCode.gameObject.SetActive(false);
//btn_redeemCode.onClick.AddListener(async () =>
//{
//btn_redeemCode.enabled = false;
//await UIManager.Instance.GetUIAsync(UITypes.RedemptionCodePopupPanel);
//btn_redeemCode.enabled = true;
//});
btn_mail.gameObject.SetActive(GContext.container.Resolve<IInGameMailService>().IsUnlock);
btn_mail.onClick.AddListener(async () =>
{
btn_mail.enabled = false;
await UIManager.Instance.GetUIAsync(UITypes.FishingMailPopupPanel);
btn_mail.enabled = true;
});
btn_achieve.onClick.AddListener(async () =>
{
UIManager.Instance.DestroyUI(UITypes.FishingMorePanel);
await UIManager.Instance.ShowUI(UITypes.PlayerGradePanel);
GContext.Publish(new HideHomePanelEvent());
GContext.Publish(new ChangeTabEvent() { index = 1 });
});
btn_travelmap.onClick.AddListener(async () =>
{
UIManager.Instance.DestroyUI(UITypes.FishingMorePanel);
GContext.container.Unregister<TravelMapCtrl>();
var travelMapCtrl = new TravelMapCtrl();
travelMapCtrl.Init(true);
GContext.container.RegisterInstance<TravelMapCtrl>(travelMapCtrl);
await UIManager.Instance.ShowUI(UITypes.TravelMapPanel);
GContext.Publish(new HideHomePanelEvent());
GContext.Publish(new MapShowEvent() { isShow = false });
});
btn_achieve.transform.Find("redpoint").gameObject.SetActive(GContext.container.Resolve<PlayerFishData>().PTSRed());
btn_achieve.gameObject.SetActive(GContext.container.Resolve<PlayerData>().OpenGrade);
btn_survey.onClick.AddListener(async () =>
{
await UIManager.Instance.ShowUI(UITypes.SurveyPopupPanel);
});
string sid = GContext.container.Resolve<SurveyService>().Sid;
btn_survey.gameObject.SetActive(!string.IsNullOrEmpty(sid));
btnJoin.gameObject.SetActive(GContext.container.Resolve<FishingEventData>().IsJoinUsPanelOpen);
btnJoin.onClick.RemoveAllListeners();
btnJoin.onClick.AddListener(OnClickBtnJoin);
// Debug.Log($"<color=#fbc21a>Level 41: {GContext.container.Resolve<FishingEventData>().IsJoinUsPanelOpen}</color>");
// Debug.Log($"<color=#fbc21a>FootPrint: {!GContext.container.Resolve<IFootPrintService>().HasFootPrint(EFootPrint.HasCommunityGuidancePanelBeenOpened)}</color>");
var doNeedRedDot = (GContext.container.Resolve<FishingEventData>().IsJoinUsPanelOpen && !GContext.container
.Resolve<IFootPrintService>().HasFootPrint(EFootPrint.HasCommunityGuidancePanelBeenOpened));
RedPointManager.Instance.SetRedPointState("menu.joinus", doNeedRedDot);
//排行榜
//btn_leaderboard.gameObject.SetActive(GContext.container.Resolve<LeadboardData>().IsOpenleaderboard);
//btn_leaderboard.onClick.AddListener(() =>
//{
// _ = UIManager.Instance.ShowUI(UITypes.FishingLeaderboardPanel);
//});
}
void OnClickEvent()
{
_ = UIManager.Instance.ShowUI(UITypes.EventReportPopupPanel);
}
void OnChangeAvatar(ChangeAvatarEvent data)
{
head.SetData(GContext.container.Resolve<IUserService>().AvatarUrl);
text_name.text = GContext.container.Resolve<IUserService>().DisplayName;
}
//void OnChangeLanguage(ChangeLanguageEvent changeLanguageEvent = null)
//{
// GContext.Publish(new TitleNewsEvent());
//}
private void OnDestroy()
{
disposables.Dispose();
disposables = null;
}
private async void OnClickBtnJoin()
{
btnJoin.onClick.RemoveAllListeners();
await UIManager.Instance.ShowUI(UITypes.CommunityGuidancePanel);
btnJoin.transform.Find("redpoint").gameObject.SetActive(false);
btnJoin.onClick.AddListener(OnClickBtnJoin);
}
}