备份CatanBuilding瘦身独立工程
This commit is contained in:
149
Assets/Scripts/UI/Friends/EventInviteFriends.cs
Normal file
149
Assets/Scripts/UI/Friends/EventInviteFriends.cs
Normal file
@@ -0,0 +1,149 @@
|
||||
using asap.core;
|
||||
using cfg;
|
||||
using game;
|
||||
using GameCore;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using tysdk;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityNative.Sharing;
|
||||
|
||||
public class EventInviteFriends : MonoBehaviour
|
||||
{
|
||||
private IUnityNativeSharing adapter;
|
||||
|
||||
Button btn_close;
|
||||
Button btn_mask;
|
||||
Button btn_questionmark;
|
||||
Image bar;
|
||||
GameObject scale;
|
||||
TMP_Text text_num;
|
||||
RewardItemNew bigReward;
|
||||
float rewardWidth;
|
||||
RewardItemNew[] smallReward;
|
||||
Button btn_invite_link;
|
||||
Button btn_invite_fb;
|
||||
string inviteLink;
|
||||
List<Invite> invites;
|
||||
int maxNum;
|
||||
int maxIndex;
|
||||
Tables tables;
|
||||
PlayerItemData playerItemData;
|
||||
FriendService friendService;
|
||||
private void Awake()
|
||||
{
|
||||
friendService = GContext.container.Resolve<FriendService>();
|
||||
playerItemData = GContext.container.Resolve<PlayerItemData>();
|
||||
tables = GContext.container.Resolve<Tables>();
|
||||
invites = tables.TbInvite.DataList;
|
||||
maxIndex = invites.Count - 1;
|
||||
maxNum = invites[maxIndex].NumInvite;
|
||||
btn_close = transform.Find("btn_close").GetComponent<Button>();
|
||||
btn_mask = transform.Find("mask").GetComponent<Button>();
|
||||
btn_questionmark = transform.Find("root/btn_questionmark").GetComponent<Button>();
|
||||
bar = transform.Find("root/bg_bar/bar").GetComponent<Image>();
|
||||
scale = transform.Find("root/bg_bar/bar/scale").gameObject;
|
||||
text_num = transform.Find("root/bg_done/text_num").GetComponent<TMP_Text>();
|
||||
bigReward = transform.Find("root/bigreward/reward").GetComponent<RewardItemNew>();
|
||||
Transform rewardRoot = transform.Find("root/reward");
|
||||
rewardWidth = rewardRoot.GetComponent<RectTransform>().rect.width;
|
||||
smallReward = rewardRoot.GetComponentsInChildren<RewardItemNew>();
|
||||
btn_invite_link = transform.Find("root/btn_invite_link/btn_green").GetComponent<Button>();
|
||||
btn_invite_fb = transform.Find("root/btn_invite_fb/btn_green").GetComponent<Button>();
|
||||
}
|
||||
private void Start()
|
||||
{
|
||||
int InviteRewardCount = friendService.OnReceiveLinkAward();
|
||||
btn_close.onClick.AddListener(OnClickClose);
|
||||
btn_mask.onClick.AddListener(OnClickClose);
|
||||
btn_questionmark.onClick.AddListener(OnClickQuestionmark);
|
||||
btn_invite_link.onClick.AddListener(OnClickInviteLink);
|
||||
btn_invite_fb.onClick.AddListener(OnClickInviteFB);
|
||||
for (int i = 1; i < maxNum; i++)
|
||||
{
|
||||
var go = Instantiate(scale, bar.transform);
|
||||
go.transform.localPosition = new Vector3((i / (float)maxNum - 0.5f) * rewardWidth, 0, 0);
|
||||
}
|
||||
for (int i = 0; i < maxIndex; i++)
|
||||
{
|
||||
if (i < smallReward.Length)
|
||||
{
|
||||
if (string.IsNullOrEmpty(invites[i].GiftIcon))
|
||||
{
|
||||
var dataItem = playerItemData.GetItemDataOne(invites[i].DropID);
|
||||
if (dataItem != null)
|
||||
{
|
||||
smallReward[i].SetData(dataItem);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
smallReward[i].SetDropIcon(invites[i].GiftIcon, invites[i].DropID);
|
||||
}
|
||||
smallReward[i].SetReceived(i < InviteRewardCount);
|
||||
smallReward[i].transform.localPosition =
|
||||
new Vector3((invites[i].NumInvite / (float)maxNum - 0.5f) * rewardWidth, 0, 0);
|
||||
}
|
||||
}
|
||||
if (string.IsNullOrEmpty(invites[maxIndex].GiftIcon))
|
||||
{
|
||||
var dataItem = playerItemData.GetItemDataOne(invites[maxIndex].DropID);
|
||||
if (dataItem != null)
|
||||
{
|
||||
bigReward.SetData(dataItem);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bigReward.SetDropIcon(invites[maxIndex].GiftIcon, invites[maxIndex].DropID);
|
||||
}
|
||||
bigReward.SetReceived(maxIndex < InviteRewardCount);
|
||||
int InviteNumber = friendService.InviteLinkNumber;
|
||||
if (InviteNumber > maxNum)
|
||||
{
|
||||
InviteNumber = maxNum;
|
||||
}
|
||||
bar.fillAmount = InviteNumber / (float)maxNum;
|
||||
text_num.text = InviteNumber + "/" + maxNum;
|
||||
GenInviteLink();
|
||||
}
|
||||
async void GenInviteLink()
|
||||
{
|
||||
inviteLink = "";
|
||||
IUserService userService = GContext.container.Resolve<IUserService>();
|
||||
|
||||
inviteLink = await AFHelper.Instance.GenInviteLink(userService.CustomId, userService.UserId);
|
||||
}
|
||||
void OnClickClose()
|
||||
{
|
||||
UIManager.Instance.DestroyUI(UITypes.FishingSocialInviteFriendsPopupPanel);
|
||||
}
|
||||
void OnClickQuestionmark()
|
||||
{
|
||||
_ = UIManager.Instance.ShowUI(UITypes.FishingSocialInviteFriendsInfoPopupPanel);
|
||||
}
|
||||
void OnClickInviteLink()
|
||||
{
|
||||
if (string.IsNullOrEmpty(inviteLink))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (adapter == null)
|
||||
{
|
||||
adapter = UnityNativeSharing.Create();
|
||||
}
|
||||
string invite = LocalizationMgr.GetFormatTextValue("Invite_Link", inviteLink);
|
||||
adapter.ShareText(invite);
|
||||
}
|
||||
void OnClickInviteFB()
|
||||
{
|
||||
if (string.IsNullOrEmpty(inviteLink))
|
||||
{
|
||||
return;
|
||||
}
|
||||
string FBInvite_title = LocalizationMgr.GetText("FBInvite_title");
|
||||
string FBInvite_content = LocalizationMgr.GetText("FBInvite_content");
|
||||
UnityBridgeFunc.FBShareLink(FBInvite_title, FBInvite_content, inviteLink);
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/UI/Friends/EventInviteFriends.cs.meta
Normal file
11
Assets/Scripts/UI/Friends/EventInviteFriends.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d7aa26d7268c8e447aae2432dd2c91e3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
using GameCore;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class EventInviteFriendsInfoPopupPanel : MonoBehaviour
|
||||
{
|
||||
Button btn_close;
|
||||
Button btn_mask;
|
||||
private void Awake()
|
||||
{
|
||||
btn_close = transform.Find("btn_close").GetComponent<Button>();
|
||||
btn_mask = transform.Find("mask").GetComponent<Button>();
|
||||
}
|
||||
private void Start()
|
||||
{
|
||||
btn_close.onClick.AddListener(OnClickClose);
|
||||
btn_mask.onClick.AddListener(OnClickClose);
|
||||
}
|
||||
void OnClickClose()
|
||||
{
|
||||
UIManager.Instance.DestroyUI(UITypes.FishingSocialInviteFriendsInfoPopupPanel);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2b1f8b1b7fe402f40b3a16e5dcde9bed
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user