Files
RedHotRoast-ios/Assets/Scripts/ModuleUI/LuckyPack/LuckyPackUI.cs
T

363 lines
14 KiB
C#

using System.Collections.Generic;
using FairyGUI;
using DG.Tweening;
using FGUI.ZM_Common_01;
using System;
using SGModule.NetKit;
using UnityEngine;
namespace RedHotRoast
{
public class LuckyPackUI : BaseUI
{
private LuckyPackUICtrl ctrl;
private LuckyPackModel model;
private FGUI.LG_LuckyGift.com_lucky ui;
private List<Paidgift> list;
public LuckyPackUI(LuckyPackUICtrl ctrl) : base(ctrl)
{
uiName = UIConst.LuckyPackUI;
this.ctrl = ctrl;
}
protected override void SetUIInfo(UIInfo uiInfo)
{
uiInfo.packageName = "LG_LuckyGift";
uiInfo.assetName = "com_lucky";
uiInfo.layerType = UILayerType.Popup;
uiInfo.isNeedOpenAnim = false;
uiInfo.isNeedCloseAnim = false;
uiInfo.isNeedUIMask = true;
}
#region
protected override void OnInit()
{
//model = ModuleManager.Instance.GetModel(ModelConst.PackrewardModel) as LuckyPackModel;
}
protected override void OnClose()
{
AdExchangeManager.Instance.Destroy();
GameHelper.showGameUI = true;
GameDispatcher.Instance.Dispatch(GameMsg.pack_close);
int three_gift_got_index = SaveData.GetSaveObject().three_gift_got_index;
// if (GameHelper.isAutoPop && (three_gift_got_index <= (int)rewardState.day3))
// {
// uiCtrlDispatcher.Dispatch(UICtrlMsg.ThreeDaysGiftUI_Open);
// GameHelper.isAutoPop = false;
// }
GameHelper.CallShowTurn();
}
protected override void OnBind()
{
ui = baseUI as FGUI.LG_LuckyGift.com_lucky;
}
protected override void OnOpenBefore(object args)
{
ui.gold.GetChild("text_gold").text = GameHelper.Get101Str(GameHelper.GetGoldNumber());
var needScroll = false;
if (args != null) needScroll = (bool)args;
ui.type.selectedIndex = needScroll ? 1 : 0;
ui.gift_switch.selectedIndex = GameHelper.IsGiftSwitch() ? 1 : 0;
Debug.Log($"needScroll============={needScroll}= {ui.type.selectedIndex}");
TrackKit.SendEvent(GameHelper.GetEventName(), needScroll ? ADEventTrack.Property.gift_show : ADEventTrack.Property.first_pack_show);
list = ConfigSystem.GetConfig<Paidgift>();
if (GameHelper.IsAdModelOfPay())
{
AdExchangeManager.Instance.SetWatchAd(PurchasingManager.GetPaySku(PayType.pack_reward), ui.btn_buypack as btn_watchAd, SetTextString1);
AdExchangeManager.Instance.SetWatchAd(PurchasingManager.GetPaySku(PayType.remove_ad), ui.btn_buyremovead as btn_watchAd, SetTextString1);
}
ui.btn_go_ad.SetClick(() =>
{
ui.type.selectedIndex = 1;
});
ui.btn_go_lucky.SetClick(() =>
{
ui.type.selectedIndex = 0;
});
InitView();
// var fileName = GameHelper.GetBackgroundName(1);
// Debug.Log($"fileName======{fileName}");
// TextureHelper.SetImgLoader(ui.no_ad_pic.picture, fileName, null, "Background/");
//
// var fileName1 = GameHelper.GetBackgroundName(2);
// Debug.Log($"fileName1======{fileName1}");
//
// TextureHelper.SetImgLoader(ui.lucky_pic.picture, fileName1, null, "Background/");
// var fileName = GameHelper.GetBackgroundName(1);
// var task = new List<(GLoader loader, string fileName, Action<NTexture> callback, string folder, string localFolder)>();
// task.Add((ui.lucky_pic.picture, fileName, null, "Background/", FolderNames.BackgroundName));
// var fileName1 = GameHelper.GetBackgroundName(2);
// task.Add((ui.no_ad_pic.picture, fileName1, null, "Background/", FolderNames.BackgroundName));
// TextureHelper.SetImgLoaders(task);
}
protected override void OnOpen(object args)
{
}
protected override void OnHide()
{
}
protected override void OnDisplay(object args)
{
}
#endregion
#region
protected override void AddListener()
{
GameDispatcher.Instance.AddListener(GameMsg.apple_pay_success, pay_success);
}
protected override void RemoveListener()
{
GameDispatcher.Instance.RemoveListener(GameMsg.apple_pay_success, pay_success);
}
#endregion
void pay_success(object str)
{
string type = (string)str;
Debug.Log($"pay_success type================{type}");
if (type == PurchasingManager.GetPaySku(PayType.remove_ad))
{
var gold = list[1].coins_quantity;
var start = GameHelper.GetUICenterPosition(ui.text_goldnum2);
var end = GameHelper.GetUICenterPosition(ui.gold.GetChild("icon"));
var rewardData = new RewardData();
var rewardSingleData = new RewardSingleData(101, gold, RewardOrigin.AdTask)
{
startPosition = start,
endPosition = end,
};
rewardData.AddReward(rewardSingleData);
rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange;
rewardData.AddCompleted((isScu) =>
{
DOVirtual.DelayedCall(0.5f, () =>
{
var startNum = DataMgr.Coin.Value - gold;
DOVirtual.Float((float)startNum, (float)GameHelper.GetGoldNumber(), 1f,
value => { ui.gold.GetChild("text_gold").text = GameHelper.Get101Str((decimal)value); });
});
});
GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData);
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.AdcomingUI_Close);
SaveData.GetSaveObject().is_get_removead = true;
SaveData.SaveDataFunc();
InitView();
}
else if (type == PurchasingManager.GetPaySku(PayType.pack_reward))
{
var start = GameHelper.GetUICenterPosition(ui.text_goldnum);
var end = GameHelper.GetUICenterPosition(ui.gold.GetChild("icon"));
var gold = list[0].coins_quantity;
var rewardData = new RewardData();
var rewardSingleData = new RewardSingleData(101, gold, RewardOrigin.AdTask)
{
startPosition = start,
endPosition = end,
};
rewardData.AddReward(rewardSingleData);
rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange;
rewardData.AddCompleted((isScu) =>
{
DOVirtual.DelayedCall(0.5f, () =>
{
var startNum = DataMgr.Coin.Value - gold;
DOVirtual.Float((float)startNum, (float)GameHelper.GetGoldNumber(), 1f,
value => { ui.gold.GetChild("text_gold").text = GameHelper.Get101Str((decimal)value); });
});
});
GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData);
SaveData.GetSaveObject().is_get_packreward = true;
SaveData.SaveDataFunc();
InitView();
}
}
//初始化页面逻辑
private int gold_num = 300;
private int back_num = 1;
private int out_num = 1;
private int refresh_num = 1;
private void InitView()
{
gold_num = list[0].coins_quantity;
back_num = list[0].props_quantity[1];
out_num = list[0].props_quantity[0];
refresh_num = list[0].props_quantity[2];
ui.text_time.SetVar("time", ConfigSystem.GetCommonConf().RemoveADsPackDuration.ToString()).FlushVars();
ui.btn_close.SetClick(CtrlCloseUI);
ui.btn_luck_close.SetClick(CtrlCloseUI);
ui.text_goldnum.text = "x" + GameHelper.Get101Str(gold_num);
ui.text_backnum1.text = "x" + back_num;
ui.text_outnum.text = "x" + out_num;
ui.text_refreshnum.text = "x" + refresh_num;
var buy_text = ui.btn_buypack.GetChild("title") as GTextField;
buy_text.SetVar("price", list[0].Paid_price.ToString()).FlushVars();
ui.text_goldnum2.text = "x" + GameHelper.Get101Str(list[1].coins_quantity);
var buy_text1 = ui.btn_buyremovead.GetChild("title") as GTextField;
buy_text1.SetVar("price", list[1].Paid_price.ToString()).FlushVars();
if (!GameHelper.IsAdModelOfPay())
{
ui.pay_type.selectedIndex = 1;
decimal price_pack = (decimal)list[0].Paid_price2;
ui.btn_max_pack.title = GameHelper.Get102Str(price_pack);
bool is_get = SaveData.GetSaveObject().is_get_packreward;
Debug.Log($"is_get================{is_get}");
if (is_get)
{
ui.btn_max_pack.enabled = false;
ui.btn_max_pack.SetClick(() => { });
}
else
{
ui.btn_max_pack.SetClick(() =>
{
ApplePayClass maxPayData = new ApplePayClass
{
amount = (int)Math.Round(price_pack * 100),
sku = PurchasingManager.GetPaySku(PayType.pack_reward),
currency = "USD"
};
MaxPayManager.Instance.Buy(maxPayData);
});
}
decimal price_remove = (decimal)list[1].Paid_price2;
ui.btn_max_remove.title = GameHelper.Get102Str(price_remove);
bool is_get1 = SaveData.GetSaveObject().is_get_removead;
Debug.Log($"is_get1================{is_get1}");
if (is_get1)
{
HallManager.Instance.UpdateSecondEvent += RemoveAdCountDown;
ui.btn_max_remove.enabled = false;
ui.btn_max_remove.SetClick(() => { });
int cd = SaveData.GetSaveObject().remove_ad_time - Convert.ToInt32(GameHelper.GetNowTime());
if (cd > 24 * 3600)
{
ui.btn_max_remove.title = CommonHelper.TimeFormat(cd, CountDownType.Day, "D");
}
else
{
ui.btn_max_remove.title = CommonHelper.TimeFormat(cd, CountDownType.Hour);
}
}
else
{
ui.btn_max_remove.SetClick(() =>
{
ApplePayClass maxPayData = new ApplePayClass
{
amount = (int)Math.Round(price_remove * 100),
sku = PurchasingManager.GetPaySku(PayType.remove_ad),
currency = "USD"
};
MaxPayManager.Instance.Buy(maxPayData);
});
}
}
else
{
ui.pay_type.selectedIndex = 0;
AdExchangeManager.Instance.Start();
SetTextString1();
decimal price_remove = (decimal)list[1].Paid_price2;
bool is_get1 = SaveData.GetSaveObject().is_get_removead;
if (is_get1)
{
HallManager.Instance.UpdateSecondEvent += RemoveAdCountDown;
ui.btn_buyremovead.enabled = false;
ui.btn_buyremovead.SetClick(() => { });
var lastTimes = SaveData.GetSaveObject()._watch_ad_cd;
if (GameHelper.GetNowTime() < lastTimes)
{
}
int cd = SaveData.GetSaveObject().remove_ad_time - Convert.ToInt32(GameHelper.GetNowTime());
if (cd > 24 * 3600)
{
ui.btn_buyremovead.title = CommonHelper.TimeFormat(cd, CountDownType.Day, "D");
}
else
{
ui.btn_buyremovead.title = CommonHelper.TimeFormat(cd, CountDownType.Hour);
}
}
}
}
private void RemoveAdCountDown()
{
int cd = SaveData.GetSaveObject().remove_ad_time - Convert.ToInt32(GameHelper.GetNowTime());
if (cd > 0)
{
if (cd > 24 * 3600)
{
ui.btn_max_remove.title = CommonHelper.TimeFormat(cd, CountDownType.Day, "D");
ui.btn_buyremovead.title = CommonHelper.TimeFormat(cd, CountDownType.Day, "D");
}
else
{
ui.btn_max_remove.title = CommonHelper.TimeFormat(cd, CountDownType.Hour);
ui.btn_buyremovead.title = CommonHelper.TimeFormat(cd, CountDownType.Hour);
}
}
else
{
SaveData.GetSaveObject().is_get_removead = false;
SaveData.GetSaveObject().remove_ad_time = 0;
InitView();
}
}
public void SetTextString1()
{
var remove_need = AdExchangeManager.Instance.GetCeilingNeedAds(PurchasingManager.GetPaySku(PayType.remove_ad));
var pack_need = AdExchangeManager.Instance.GetCeilingNeedAds(PurchasingManager.GetPaySku(PayType.pack_reward));
var myAd = AdExchangeManager.Instance.GetLookRewardADNum();
ui.ads.SetVar("num", myAd.ToString()).FlushVars();
ui.tips1.SetVar("num", pack_need.ToString()).FlushVars();
ui.tips2.SetVar("num", remove_need.ToString()).FlushVars();
}
}
}