备份CatanBuilding瘦身独立工程
This commit is contained in:
132
Assets/Scripts/UI/Turntable/TurntableRewardItem.cs
Normal file
132
Assets/Scripts/UI/Turntable/TurntableRewardItem.cs
Normal file
@@ -0,0 +1,132 @@
|
||||
using cfg;
|
||||
using UnityEngine;
|
||||
using TMPro;
|
||||
using GameCore;
|
||||
using asap.core;
|
||||
using DG.Tweening;
|
||||
using UnityEngine.UI;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class TurntableRewardItem : MonoBehaviour
|
||||
{
|
||||
public WheelDrop wheelDrop;
|
||||
//int id = 0 ;
|
||||
Image icon;
|
||||
TMP_Text text_num;
|
||||
public int rewardMulti = 1;
|
||||
public int num = 0;
|
||||
Item item;
|
||||
ItemData itemData;
|
||||
Transform rewardNew;
|
||||
GameObject particle;
|
||||
GameObject particle_01;
|
||||
DOTweenAnimation dotween_selected;
|
||||
|
||||
Button btn_click;
|
||||
Image icon_card;
|
||||
Image logo;
|
||||
Image card_num;
|
||||
void Awake()
|
||||
{
|
||||
wheelDrop = null;
|
||||
text_num = transform.Find("text_num").GetComponent<TMP_Text>();
|
||||
icon = transform.Find("icon").GetComponent<UnityEngine.UI.Image>();
|
||||
rewardNew = transform.Find("reward");
|
||||
particle = transform.Find("particle").gameObject;
|
||||
particle_01 = transform.Find("particle_01").gameObject;
|
||||
dotween_selected = transform.Find("dotween_selected").GetComponent<DOTweenAnimation>();
|
||||
|
||||
icon_card = transform.Find("icon_card").GetComponent<Image>();
|
||||
logo = transform.Find("icon_card/logo").GetComponent<Image>();
|
||||
card_num = transform.Find("icon_card/num").GetComponent<Image>();
|
||||
|
||||
btn_click = GetComponent<Button>();
|
||||
}
|
||||
private void Start()
|
||||
{
|
||||
if (btn_click != null)
|
||||
{
|
||||
btn_click.onClick.AddListener(OnClick);
|
||||
}
|
||||
}
|
||||
|
||||
void OnClick()
|
||||
{
|
||||
if (itemData == null || itemData.id == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
GContext.container.Resolve<PlayerItemData>().ShowItemTips(itemData.id, transform);
|
||||
}
|
||||
public void Init(bool isFree)
|
||||
{
|
||||
if (isFree)
|
||||
{
|
||||
itemData = GContext.container.Resolve<PlayerItemData>().GetItemDataOne(wheelDrop.ExtraDropID);
|
||||
}
|
||||
else
|
||||
{
|
||||
itemData = GContext.container.Resolve<PlayerItemData>().GetItemDataOne(wheelDrop.DropID);
|
||||
}
|
||||
item = GContext.container.Resolve<Tables>().TbItem.Get(itemData.id); //是否可能有多个物品?
|
||||
text_num.gameObject.SetActive(wheelDrop.Type != 9 || isFree);
|
||||
UpDisplay();
|
||||
}
|
||||
public void UpDisplay()
|
||||
{
|
||||
if (wheelDrop.Type == 9)
|
||||
{
|
||||
rewardMulti = 1;
|
||||
}
|
||||
num = (int)itemData.count * rewardMulti;
|
||||
text_num.text = ConvertTools.GetNumberString(num);
|
||||
if (item.Type == 5)
|
||||
{
|
||||
IUIService uiService = GContext.container.Resolve<IUIService>();
|
||||
List<string> BgNameList;
|
||||
if (item.SubType == 1)
|
||||
{
|
||||
var fishCard = GContext.container.Resolve<Tables>().TbFishCardDrop.GetOrDefault(item.RedirectID);
|
||||
BgNameList = fishCard.BgNameList;
|
||||
}
|
||||
else
|
||||
{
|
||||
var fishCard = GContext.container.Resolve<Tables>().TbGeneralCardWeight.GetOrDefault(item.RedirectID);
|
||||
BgNameList = fishCard.BgNameList;
|
||||
}
|
||||
|
||||
uiService.SetImageSprite(icon_card, BgNameList[0], BasePanel.PanelName);
|
||||
uiService.SetImageSprite(logo, BgNameList[1], BasePanel.PanelName);
|
||||
uiService.SetImageSprite(card_num, BgNameList[2], BasePanel.PanelName);
|
||||
icon_card.gameObject.SetActive(true);
|
||||
icon.gameObject.SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
icon_card.gameObject.SetActive(false);
|
||||
icon.gameObject.SetActive(true);
|
||||
GContext.container.Resolve<IUIService>().SetImageSprite(icon, item.Icon, BasePanel.PanelName);
|
||||
}
|
||||
}
|
||||
public void OnSelect()
|
||||
{
|
||||
particle_01.SetActive(false);
|
||||
particle.SetActive(false);
|
||||
particle_01.SetActive(true);
|
||||
particle.SetActive(true);
|
||||
dotween_selected.DORestart();
|
||||
}
|
||||
public async System.Threading.Tasks.Task ShowReward(RewardItemNew rewardItemNew)
|
||||
{
|
||||
ItemData itemDataNew = new ItemData();
|
||||
itemDataNew.id = itemData.id;
|
||||
itemDataNew.count = itemData.count * rewardMulti;
|
||||
rewardItemNew.transform.parent.position = rewardNew.position;
|
||||
rewardItemNew.SetRewardPopupData(itemDataNew, false);
|
||||
rewardItemNew.PlayOpen(true);
|
||||
await Awaiters.Seconds(0.6f);
|
||||
await rewardItemNew.PlayClose();
|
||||
await rewardItemNew.ParticleAttractor();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user