备份CatanBuilding瘦身独立工程
This commit is contained in:
192
Assets/Scripts/UI/Setting/BindAccountPopupPanel.cs
Normal file
192
Assets/Scripts/UI/Setting/BindAccountPopupPanel.cs
Normal file
@@ -0,0 +1,192 @@
|
||||
using asap.core;
|
||||
using cfg;
|
||||
using game;
|
||||
using GameCore;
|
||||
using TMPro;
|
||||
using tysdk;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class BindAccountPopupPanel : MonoBehaviour
|
||||
{
|
||||
IUserService userService;
|
||||
Button btn_close;
|
||||
Button btn_close1;
|
||||
|
||||
public Button btn_facebookbtn;
|
||||
public GameObject btn_facebookrewardPanel;
|
||||
public TMP_Text btn_facebookrewardText;
|
||||
public Image btn_facebookp_icon;
|
||||
|
||||
public Button btn_googlebtn;
|
||||
public GameObject btn_googlerewardPanel;
|
||||
public TMP_Text btn_googlerewardText;
|
||||
public Image btn_googlep_icon;
|
||||
|
||||
public Button btn_applebtn;
|
||||
public GameObject btn_applerewardPanel;
|
||||
public TMP_Text btn_applerewardText;
|
||||
public Image btn_applep_icon;
|
||||
|
||||
public Button btn_delete;
|
||||
|
||||
int rewardID;
|
||||
ItemData itemData;
|
||||
private void Awake()
|
||||
{
|
||||
userService = GContext.container.Resolve<IUserService>();
|
||||
btn_close1 = transform.Find("btn_close").GetComponent<Button>();
|
||||
btn_close = transform.Find("mask").GetComponent<Button>();
|
||||
|
||||
btn_googlebtn = transform.Find("root/layout/btn_google/btn_green").GetComponent<Button>();
|
||||
btn_googlerewardPanel = transform.Find("root/layout/btn_google/btn_green/Ani_Container/reward").gameObject;
|
||||
btn_googlerewardText = transform.Find("root/layout/btn_google/btn_green/Ani_Container/reward/p_text_num").GetComponent<TMP_Text>();
|
||||
btn_googlep_icon = transform.Find("root/layout/btn_google/btn_green/Ani_Container/reward/p_icon").GetComponent<Image>();
|
||||
|
||||
btn_facebookbtn = transform.Find("root/layout/btn_facebook/btn_green").GetComponent<Button>();
|
||||
btn_facebookrewardPanel = transform.Find("root/layout/btn_facebook/btn_green/Ani_Container/reward").gameObject;
|
||||
btn_facebookrewardText = transform.Find("root/layout/btn_facebook/btn_green/Ani_Container/reward/p_text_num").GetComponent<TMP_Text>();
|
||||
btn_facebookp_icon = transform.Find("root/layout/btn_facebook/btn_green/Ani_Container/reward/p_icon").GetComponent<Image>();
|
||||
|
||||
btn_applebtn = transform.Find("root/layout/btn_apple/btn_green").GetComponent<Button>();
|
||||
btn_applerewardPanel = transform.Find("root/layout/btn_apple/btn_green/Ani_Container/reward").gameObject;
|
||||
btn_applerewardText = transform.Find("root/layout/btn_apple/btn_green/Ani_Container/reward/p_text_num").GetComponent<TMP_Text>();
|
||||
btn_applep_icon = transform.Find("root/layout/btn_apple/btn_green/Ani_Container/reward/p_icon").GetComponent<Image>();
|
||||
|
||||
#if UNITY_IOS
|
||||
var google_obj = transform.Find("root/layout/btn_google");
|
||||
if(google_obj != null)
|
||||
google_obj.gameObject.SetActive(false);
|
||||
|
||||
var apple_obj = transform.Find("root/layout/btn_apple");
|
||||
if(apple_obj != null)
|
||||
apple_obj.gameObject.SetActive(true);
|
||||
#else
|
||||
var google_obj = transform.Find("root/layout/btn_google");
|
||||
if (google_obj != null)
|
||||
google_obj.gameObject.SetActive(true);
|
||||
|
||||
var apple_obj = transform.Find("root/layout/btn_apple");
|
||||
if (apple_obj != null)
|
||||
apple_obj.gameObject.SetActive(false);
|
||||
#endif
|
||||
}
|
||||
private void Start()
|
||||
{
|
||||
rewardID = GContext.container.Resolve<Tables>().TbGlobalConfig.AccountLinkReward;
|
||||
itemData = GContext.container.Resolve<PlayerItemData>().GetItemDataOne(rewardID);
|
||||
btn_close.onClick.AddListener(OnClose);
|
||||
btn_close1.onClick.AddListener(OnClose);
|
||||
|
||||
btn_facebookbtn.interactable = false;
|
||||
btn_facebookrewardPanel.SetActive(false);
|
||||
btn_facebookbtn.onClick.AddListener(OnBtnFacebook);
|
||||
|
||||
btn_googlebtn.interactable = false;
|
||||
btn_googlerewardPanel.SetActive(false);
|
||||
btn_googlebtn.onClick.AddListener(OnBtnGoogle);
|
||||
|
||||
btn_applebtn.interactable = false;
|
||||
btn_applerewardPanel.SetActive(false);
|
||||
btn_applebtn.onClick.AddListener(OnBtnApple);
|
||||
|
||||
btn_delete.onClick.AddListener(OnBtnDelete);
|
||||
|
||||
SetMaterial();
|
||||
}
|
||||
|
||||
void SetMaterial()
|
||||
{
|
||||
bool isLinkGoogle = false;
|
||||
bool isLinkFacebook = false;
|
||||
bool isLinkApple = false;
|
||||
if (TYSdkFacade.TYAccountInfo != null)
|
||||
{
|
||||
isLinkGoogle = TYSdkFacade.TYAccountInfo.linkedAccout.Contains(EAccoutType.hwGoogle);
|
||||
isLinkFacebook = TYSdkFacade.TYAccountInfo.linkedAccout.Contains(EAccoutType.hwFacebook);
|
||||
isLinkApple = TYSdkFacade.TYAccountInfo.linkedAccout.Contains(EAccoutType.Apple);
|
||||
}
|
||||
|
||||
Item item = GContext.container.Resolve<Tables>().TbItem.GetOrDefault(itemData.id);
|
||||
|
||||
IUIService uIService = GContext.container.Resolve<IUIService>();
|
||||
if (!isLinkGoogle)
|
||||
{
|
||||
btn_googlerewardText.text = itemData.count.ToString();
|
||||
uIService.SetImageSprite(btn_googlep_icon, item.Icon, BasePanel.PanelName);
|
||||
}
|
||||
if (!isLinkFacebook)
|
||||
{
|
||||
btn_facebookrewardText.text = itemData.count.ToString();
|
||||
uIService.SetImageSprite(btn_facebookp_icon, item.Icon, BasePanel.PanelName);
|
||||
}
|
||||
|
||||
if (!isLinkApple)
|
||||
{
|
||||
btn_applerewardText.text = itemData.count.ToString();
|
||||
uIService.SetImageSprite(btn_applep_icon, item.Icon, BasePanel.PanelName);
|
||||
}
|
||||
|
||||
btn_googlebtn.interactable = !isLinkGoogle;
|
||||
btn_facebookbtn.interactable = !isLinkFacebook;
|
||||
btn_applebtn.interactable = !isLinkApple;
|
||||
|
||||
btn_googlerewardPanel.SetActive(!isLinkGoogle);
|
||||
btn_facebookrewardPanel.SetActive(!isLinkFacebook);
|
||||
btn_applerewardPanel.SetActive(!isLinkApple);
|
||||
}
|
||||
|
||||
async void OnBtnGoogle()
|
||||
{
|
||||
var result = await userService.LinkAccount(EAccoutType.hwGoogle);
|
||||
if (result)
|
||||
{
|
||||
PlayFabMgr.Instance.UpdateUserDataValue(EAccoutType.hwGoogle.ToString(), "1");
|
||||
btn_googlebtn.interactable = false;
|
||||
btn_googlerewardPanel.SetActive(false);
|
||||
GetReward();
|
||||
}
|
||||
}
|
||||
|
||||
async void OnBtnFacebook()
|
||||
{
|
||||
var result = await userService.LinkAccount(EAccoutType.hwFacebook);
|
||||
if (result)
|
||||
{
|
||||
PlayFabMgr.Instance.UpdateUserDataValue(EAccoutType.hwFacebook.ToString(), "1");
|
||||
btn_facebookbtn.interactable = false;
|
||||
btn_facebookrewardPanel.SetActive(false);
|
||||
GetReward();
|
||||
}
|
||||
}
|
||||
|
||||
async void OnBtnApple()
|
||||
{
|
||||
var result = await userService.LinkAccount(EAccoutType.Apple);
|
||||
if (result)
|
||||
{
|
||||
PlayFabMgr.Instance.UpdateUserDataValue(EAccoutType.Apple.ToString(), "1");
|
||||
btn_applebtn.interactable = false;
|
||||
btn_applerewardPanel.SetActive(false);
|
||||
GetReward();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnBtnDelete()
|
||||
{
|
||||
tysdk.TYSdkFacade.Instance.Signout();
|
||||
RootCtx.ExitGame();
|
||||
}
|
||||
|
||||
void GetReward()
|
||||
{
|
||||
GContext.container.Resolve<PlayerItemData>().AddItem(itemData);
|
||||
GContext.Publish(new ShowData(itemData));
|
||||
GContext.Publish(new ShowData());
|
||||
GContext.container.Resolve<PlayerShopData>().GetSKUs();
|
||||
}
|
||||
protected virtual void OnClose()
|
||||
{
|
||||
UIManager.Instance.DestroyUI(UITypes.BindAccountPopupPanel);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user