备份CatanBuilding瘦身独立工程
This commit is contained in:
144
Assets/Scripts/Duel/UI/EventFishingDuelSettlementPanel.cs
Normal file
144
Assets/Scripts/Duel/UI/EventFishingDuelSettlementPanel.cs
Normal file
@@ -0,0 +1,144 @@
|
||||
using asap.core;
|
||||
using cfg;
|
||||
using game;
|
||||
using GameCore;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class EventFishingDuelSettlementPanel : MonoBehaviour
|
||||
{
|
||||
FishingEventData fishingEventData;
|
||||
Tables table;
|
||||
Button btn_receive;
|
||||
private EventSolomain solomain;
|
||||
List<RewardItemNew> rewardItems;
|
||||
TMP_Text text_rank;
|
||||
Image icon_rank;
|
||||
List<ItemData> rewardItemData;
|
||||
private void Awake()
|
||||
{
|
||||
fishingEventData = GContext.container.Resolve<FishingEventData>();
|
||||
table = GContext.container.Resolve<Tables>();
|
||||
btn_receive = transform.Find("root/reward/btn_receive/btn_green").GetComponent<Button>();
|
||||
|
||||
text_rank = transform.Find("root/text_rank").GetComponent<TMP_Text>();
|
||||
icon_rank = transform.Find("root/icon_rank").GetComponent<Image>();
|
||||
Transform layout_reward = transform.Find($"root/layout_reward");
|
||||
int count = layout_reward.childCount;
|
||||
rewardItems = new List<RewardItemNew>();
|
||||
for (int i = 1; i <= count; i++)
|
||||
{
|
||||
rewardItems.Add(transform.Find($"root/layout_reward/reward{i}").GetComponent<RewardItemNew>());
|
||||
}
|
||||
}
|
||||
private void Start()
|
||||
{
|
||||
SetReward();
|
||||
btn_receive.onClick.AddListener(OnReveive);
|
||||
}
|
||||
void SetReward()
|
||||
{
|
||||
var data = table.TbEventSolomain.DataList;
|
||||
if (fishingEventData.duelData.preProgress > 0)
|
||||
{
|
||||
for (int i = data.Count - 1; i >= 0; i--)
|
||||
{
|
||||
if (fishingEventData.duelData.preProgress >= data[i].TrophyRange[0])
|
||||
{
|
||||
solomain = data[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (solomain == null)
|
||||
{
|
||||
solomain = data[0];
|
||||
}
|
||||
GContext.container.Resolve<IUIService>().SetImageSprite(icon_rank, solomain.RankIcon);
|
||||
text_rank.text = LocalizationMgr.GetText(solomain.RankText_l10n_key);
|
||||
rewardItemData = GContext.container.Resolve<PlayerItemData>()
|
||||
.GetItemDataByDropId(solomain.SeasonReward);
|
||||
|
||||
if (rewardItemData != null)
|
||||
{
|
||||
int dataCount = rewardItemData.Count;
|
||||
int rewardCount = rewardItems.Count;
|
||||
for (int j = 0; j < rewardCount; j++)
|
||||
{
|
||||
if (j < dataCount)
|
||||
{
|
||||
rewardItems[j].SetData(rewardItemData[j]);
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems[j].gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void OnReveive()
|
||||
{
|
||||
int preProgress = fishingEventData.duelData.preProgress;
|
||||
int reset = preProgress - table.TbEventSoloConfig.MinTrophy;
|
||||
var data = table.TbEventSolomain.DataList;
|
||||
|
||||
if (reset > 0)
|
||||
{
|
||||
//preProgress = table.TbEventSoloConfig.SettlementTrophy +
|
||||
// (int)(reset * table.TbEventSoloConfig.SettlementTrophyMultiplier);
|
||||
|
||||
var solomain = data[0];
|
||||
if (preProgress > 0)
|
||||
{
|
||||
for (int i = data.Count - 1; i >= 0; i--)
|
||||
{
|
||||
if (preProgress >= data[i].TrophyRange[0])
|
||||
{
|
||||
solomain = data[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
preProgress -= solomain.SettleDeducTrophy;
|
||||
}
|
||||
//preProgress /= table.TbEventSoloConfig.TrophyMutiple;
|
||||
//preProgress *= table.TbEventSoloConfig.TrophyMutiple;
|
||||
if (preProgress < table.TbEventSoloConfig.MinTrophy)
|
||||
{
|
||||
preProgress = table.TbEventSoloConfig.MinTrophy;
|
||||
}
|
||||
EventSolomain preSolomain = solomain;
|
||||
for (int i = data.Count - 1; i >= 0; i--)
|
||||
{
|
||||
if (preProgress >= data[i].TrophyRange[0])
|
||||
{
|
||||
preSolomain = data[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#if AGG
|
||||
using (var e = GEvent.GameEvent("single_battle_settlement"))
|
||||
{
|
||||
e.AddContent("trophy", fishingEventData.duelData.preProgress)
|
||||
.AddContent("charge_count", GContext.container.Resolve<PlayerShopData>().GetBuyPaymentAmount())
|
||||
.AddContent("trophy_after", preProgress);
|
||||
if (solomain != null)
|
||||
{
|
||||
e.AddContent("tire", solomain.RankTier)
|
||||
.AddContent("reward_list", solomain.SeasonReward);
|
||||
}
|
||||
if (preSolomain != null)
|
||||
{
|
||||
e.AddContent("tier_after", preSolomain.RankTier);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
GContext.container.Resolve<PlayerItemData>().AddItem(rewardItemData);
|
||||
fishingEventData.ClaimReward();
|
||||
UIManager.Instance.DestroyUI(UITypes.EventFishingDuelSettlementPanel);
|
||||
GContext.Publish(new ShowData());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user