922 lines
37 KiB
C#
922 lines
37 KiB
C#
|
|
using System.Collections;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
using UnityEngine;
|
||
|
|
|
||
|
|
using FairyGUI;
|
||
|
|
using BingoBrain.Core;
|
||
|
|
|
||
|
|
using BingoBrain;
|
||
|
|
using FGUI.G009_video_animal;
|
||
|
|
using DG.Tweening;
|
||
|
|
using System;
|
||
|
|
using System.Linq;
|
||
|
|
using Newtonsoft.Json;
|
||
|
|
using BingoBrain.HotFix;
|
||
|
|
using DontConfuse;
|
||
|
|
|
||
|
|
namespace BingoBrain
|
||
|
|
{
|
||
|
|
public class NewTaskUI : BaseUI
|
||
|
|
{
|
||
|
|
private NewTaskUICtrl ctrl;
|
||
|
|
private NewTaskModel model;
|
||
|
|
private FGUI.G009_video_animal.com_newtask ui;
|
||
|
|
List<PassingTasks> passing_list = new List<PassingTasks>();
|
||
|
|
List<Durationtasks> Durationtasks_list = new List<Durationtasks>();
|
||
|
|
List<Passportrewards> Passportrewards_list = new List<Passportrewards>();
|
||
|
|
private Vector2 start_pos;
|
||
|
|
private int reward_number;
|
||
|
|
private int task_id = 0;
|
||
|
|
private List<int> recored_list;
|
||
|
|
private List<int> time_recored_list;
|
||
|
|
private int reward_type = 0;
|
||
|
|
|
||
|
|
|
||
|
|
public NewTaskUI(NewTaskUICtrl ctrl) : base(ctrl)
|
||
|
|
{
|
||
|
|
uiName = UIConst.NewTaskUI;
|
||
|
|
this.ctrl = ctrl;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void SetUIInfo(UIInfo uiInfo)
|
||
|
|
{
|
||
|
|
uiInfo.packageName = "G009_video_animal";
|
||
|
|
uiInfo.assetName = "com_newtask";
|
||
|
|
uiInfo.layerType = UILayerType.Popup;
|
||
|
|
uiInfo.isNeedOpenAnim = false;
|
||
|
|
uiInfo.isNeedCloseAnim = false;
|
||
|
|
uiInfo.isNeedUIMask = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
#region 生命周期
|
||
|
|
protected override void OnInit()
|
||
|
|
{
|
||
|
|
// model = ModuleManager.Instance.GetModel(ModelConst.NewTaskModel) as NewTaskModel;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnClose()
|
||
|
|
{
|
||
|
|
GameHelper.showGameUI = true;
|
||
|
|
WebviewManager.Instance.SetDarkThough(true);
|
||
|
|
Hall.Instance.UpdateSecondEvent -= upData;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnBind()
|
||
|
|
{
|
||
|
|
ui = baseUI as FGUI.G009_video_animal.com_newtask;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void OnOpenBefore(object args)
|
||
|
|
{
|
||
|
|
GameHelper.showGameUI = false;
|
||
|
|
if (GameHelper.GetGameday() != DateTime.Now.Day)
|
||
|
|
{
|
||
|
|
PlayerPrefs.SetInt("_time", 0);
|
||
|
|
SaveData.GetSaveobject().time_task_record = new List<int>();
|
||
|
|
for(int i=0;i<ConfigSystem.GetConfig<DurationtasksModel>().dataList.Count;i++){
|
||
|
|
ConfigSystem.GetConfig<DurationtasksModel>().dataList[i].is_get=false;
|
||
|
|
}
|
||
|
|
GameHelper.SetGameday();
|
||
|
|
}
|
||
|
|
WebviewManager.Instance.SetDarkThough(false);
|
||
|
|
Hall.Instance.UpdateSecondEvent += upData;
|
||
|
|
InitView();
|
||
|
|
}
|
||
|
|
|
||
|
|
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.GetTaskReward, getRewardSuccess);
|
||
|
|
GameDispatcher.Instance.AddListener(GameMsg.apple_pay_success, pay_success);
|
||
|
|
}
|
||
|
|
protected override void RemoveListener()
|
||
|
|
{
|
||
|
|
GameDispatcher.Instance.RemoveListener(GameMsg.GetTaskReward, getRewardSuccess);
|
||
|
|
GameDispatcher.Instance.RemoveListener(GameMsg.apple_pay_success, pay_success);
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
void pay_success(object str)
|
||
|
|
{
|
||
|
|
string type = (string)str;
|
||
|
|
if (type == PurchasingManager.battle_pass)
|
||
|
|
{
|
||
|
|
int gold = 0;
|
||
|
|
|
||
|
|
SaveData.GetSaveobject().is_get_battlepass = true;
|
||
|
|
|
||
|
|
List<Passportrewards> Passportrewards_list = ConfigSystem.GetConfig<PassportrewardsModel>().dataList;
|
||
|
|
for (int i = 0; i < Passportrewards_list.Count; i++)
|
||
|
|
{
|
||
|
|
if (GameHelper.GetBattleLv_Index() > i || (GameHelper.GetGameExp() >= Passportrewards_list[Passportrewards_list.Count - 1].Eliminating_quantity))
|
||
|
|
{
|
||
|
|
if (Passportrewards_list[i].Paid_rewards_type == 0) gold += Passportrewards_list[i].Paid_rewards_num;
|
||
|
|
}
|
||
|
|
else break;
|
||
|
|
}
|
||
|
|
var end = GameHelper.GetUICenterPosition(ui.gold);
|
||
|
|
|
||
|
|
start_pos = GameHelper.GetUICenterPosition(ui.pass_com.btn_pay);
|
||
|
|
var rewardData = new RewardData
|
||
|
|
{
|
||
|
|
displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange
|
||
|
|
};
|
||
|
|
var rewardSingleData = new Goda(101, gold, RewardOrigin.Play)
|
||
|
|
{
|
||
|
|
startPosition = start_pos,
|
||
|
|
endPosition = end,
|
||
|
|
|
||
|
|
};
|
||
|
|
rewardData.AddReward(rewardSingleData);
|
||
|
|
rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange;
|
||
|
|
GameDispatcher.Instance.Dispatch(BingoInfo.GetReward, rewardData);
|
||
|
|
|
||
|
|
|
||
|
|
GameHelper.ShowTips("Receive successfully");
|
||
|
|
|
||
|
|
|
||
|
|
DOVirtual.DelayedCall(1f, () =>
|
||
|
|
{
|
||
|
|
ui.pass_com.pass_list.numItems = Passportrewards_list.Count;
|
||
|
|
ui.pass_com.btn_pay.visible = false;
|
||
|
|
var startNum = GameHelper.GetGoldNumber() - gold;
|
||
|
|
DOVirtual.Float(startNum, (float)GameHelper.GetGoldNumber(), 1f,
|
||
|
|
value => { ui.gold.GetChild("number_text").text = ((int)value).ToString(); });
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
//初始化页面逻辑
|
||
|
|
private void InitView()
|
||
|
|
{
|
||
|
|
if (Screen.safeArea.y != 0)
|
||
|
|
{//刘海屏
|
||
|
|
ui.gold.y += Screen.safeArea.y;
|
||
|
|
ui.money.y += Screen.safeArea.y;
|
||
|
|
}
|
||
|
|
if (!GameHelper.IsGiftSwitch()) ui.money.visible = false;
|
||
|
|
ui.pass_com.visible = true;
|
||
|
|
ui.task_list.visible = false;
|
||
|
|
ui.com_toptab.btn_battle.SetClick(() =>
|
||
|
|
{
|
||
|
|
ui.com_toptab.tab.selectedIndex = 0;
|
||
|
|
ui.pass_com.visible = true;
|
||
|
|
ui.task_list.visible = false;
|
||
|
|
});
|
||
|
|
ui.com_toptab.btn_pass.SetClick(() =>
|
||
|
|
{
|
||
|
|
ui.com_toptab.tab.selectedIndex = 1;
|
||
|
|
sortTaskList();
|
||
|
|
ui.pass_com.visible = false;
|
||
|
|
ui.task_list.visible = true;
|
||
|
|
});
|
||
|
|
ui.com_toptab.btn_time.SetClick(() =>
|
||
|
|
{
|
||
|
|
|
||
|
|
ui.com_toptab.tab.selectedIndex = 2;
|
||
|
|
sortTimeList();
|
||
|
|
ui.pass_com.visible = false;
|
||
|
|
ui.task_list.visible = true;
|
||
|
|
});
|
||
|
|
|
||
|
|
ui.btn_close.SetClick(() => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NewTaskUI_Close); });
|
||
|
|
|
||
|
|
|
||
|
|
passing_list = ConfigSystem.GetConfig<PassingTaskModel>().dataList;
|
||
|
|
Durationtasks_list = ConfigSystem.GetConfig<DurationtasksModel>().dataList;
|
||
|
|
Passportrewards_list = ConfigSystem.GetConfig<PassportrewardsModel>().dataList;
|
||
|
|
setPassCom();
|
||
|
|
ui.com_toptab.red_0.visible = SaveData.battlepassred();
|
||
|
|
ui.com_toptab.red_1.visible = SaveData.passtaskred();
|
||
|
|
ui.com_toptab.red_2.visible = SaveData.timetaskred();
|
||
|
|
if (SaveData.battlepassred())
|
||
|
|
{
|
||
|
|
ui.com_toptab.tab.selectedIndex = 0;
|
||
|
|
ui.pass_com.visible = true;
|
||
|
|
ui.task_list.visible = false;
|
||
|
|
}
|
||
|
|
else if (SaveData.timetaskred())
|
||
|
|
{
|
||
|
|
ui.com_toptab.tab.selectedIndex = 2;
|
||
|
|
sortTimeList();
|
||
|
|
ui.pass_com.visible = false;
|
||
|
|
ui.task_list.visible = true;
|
||
|
|
}
|
||
|
|
else if (SaveData.passtaskred())
|
||
|
|
{
|
||
|
|
ui.com_toptab.tab.selectedIndex = 1;
|
||
|
|
sortTaskList();
|
||
|
|
ui.pass_com.visible = false;
|
||
|
|
ui.task_list.visible = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
ui.pass_com.btn_showtips.SetClick(() =>
|
||
|
|
{
|
||
|
|
ui.pass_com.t0.Stop();
|
||
|
|
ui.pass_com.t0.Play();
|
||
|
|
});
|
||
|
|
SetMakeup();
|
||
|
|
scrollToClaim();
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
void SetMakeup(object a = null)
|
||
|
|
{
|
||
|
|
|
||
|
|
|
||
|
|
ui.gold.GetChild("number_text").text = GameHelper.GetGoldNumber().ToString();
|
||
|
|
ui.money.GetChild("number_text").text = PreferencesMgr.Instance.Currency102.ToString();
|
||
|
|
|
||
|
|
// DOVirtual.Float(0, (float)PreferencesMgr.Instance.Currency101, 1,
|
||
|
|
// value => { ui.money.GetChild("number_text").text = GameHelper.Get101Str((decimal)value); });
|
||
|
|
|
||
|
|
if (GameHelper.IsGiftSwitch())
|
||
|
|
{
|
||
|
|
|
||
|
|
var makeupTaskData = PreferencesMgr.Instance.MakeupTaskHistory.Last();
|
||
|
|
var vo = ConfigSystem.GetConfig<MakeupModel>().GetData(makeupTaskData.tableId);
|
||
|
|
|
||
|
|
if (vo == null)
|
||
|
|
{
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var leftCash = (double)Math.Max(vo.item_need - PreferencesMgr.Instance.Currency101, 0);
|
||
|
|
|
||
|
|
(ui.money.GetChild("btn_cashout") as GButton).SetClickDownEffect(0.8f, 1);
|
||
|
|
ui.money.GetChild("btn_cashout").SetClick(() =>
|
||
|
|
{
|
||
|
|
// if (GameHelper.CanGuide() && !GuideCtrl.Instance.IsFinishGuide(1))
|
||
|
|
// {
|
||
|
|
// GuideCtrl.Instance.Dispatch("ClickButton");
|
||
|
|
// // ui.com_box.finger_place.visible = false;
|
||
|
|
// }
|
||
|
|
GameHelper.showGameUI = false;
|
||
|
|
uiCtrlDispatcher.Dispatch(UICtrlMsg.MakeupConfirmUI_Open, makeupTaskData);
|
||
|
|
//CtrlCloseUI();
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void upData()
|
||
|
|
{
|
||
|
|
ui.pass_com.remain_time.text = GameHelper.TimeFormat(
|
||
|
|
SaveData.GetSaveobject().battle_pass_time + Passportrewards_list[0].Passportrewards_CD * 24 * 3600 - Convert.ToInt32(GameHelper.GetNowTime()),
|
||
|
|
CountDownType.Day);
|
||
|
|
|
||
|
|
if ((SaveData.GetSaveobject().battle_pass_time + Passportrewards_list[0].Passportrewards_CD * 24 * 3600) < GameHelper.GetNowTime())
|
||
|
|
{
|
||
|
|
SaveData.GetSaveobject().battle_pass_time = (int)GameHelper.GetNowTime();
|
||
|
|
SaveData.GetSaveobject().battle_pass_freelist.Clear();
|
||
|
|
SaveData.GetSaveobject().battle_pass_paylist.Clear();
|
||
|
|
SaveData.GetSaveobject().is_get_battlepass = false;
|
||
|
|
GameHelper.ResetGameExp();
|
||
|
|
SaveData.saveDataFunc();
|
||
|
|
setPassCom();
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
void setPassCom()
|
||
|
|
{
|
||
|
|
if ((SaveData.GetSaveobject().battle_pass_time + Passportrewards_list[0].Passportrewards_CD * 24 * 3600) < GameHelper.GetNowTime())
|
||
|
|
{
|
||
|
|
SaveData.GetSaveobject().battle_pass_time = (int)GameHelper.GetNowTime();
|
||
|
|
GameHelper.ResetGameExp();
|
||
|
|
SaveData.GetSaveobject().battle_pass_freelist.Clear();
|
||
|
|
SaveData.GetSaveobject().battle_pass_paylist.Clear();
|
||
|
|
SaveData.GetSaveobject().is_get_battlepass = false;
|
||
|
|
SaveData.saveDataFunc();
|
||
|
|
}
|
||
|
|
upData();
|
||
|
|
ui.pass_com.pass_list.itemRenderer = battle_itemRender;
|
||
|
|
ui.pass_com.pass_list.numItems = Passportrewards_list.Count + 1;
|
||
|
|
|
||
|
|
ui.pass_com.now_level.text = GameHelper.getBattleLv().ToString();
|
||
|
|
if (GameHelper.getBattleLv() >= Passportrewards_list.Count)
|
||
|
|
{
|
||
|
|
ui.pass_com.now_exp.text = GameHelper.GetGameExp().ToString();
|
||
|
|
ui.pass_com.progress.width = 359;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
ui.pass_com.now_exp.text = GameHelper.GetGameExp() + "/" + Passportrewards_list[GameHelper.getBattleLv()].Eliminating_quantity;
|
||
|
|
ui.pass_com.progress.width = ((float)GameHelper.GetGameExp() / Passportrewards_list[GameHelper.getBattleLv()].Eliminating_quantity) * 359;
|
||
|
|
}
|
||
|
|
ui.pass_com.btn_pay.visible = !SaveData.GetSaveobject().is_get_battlepass;
|
||
|
|
ui.pass_com.btn_pay.SetClick(() =>
|
||
|
|
{
|
||
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PassunlockUI_Open);
|
||
|
|
|
||
|
|
// ApplePayClass test = new ApplePayClass()
|
||
|
|
// {
|
||
|
|
// transactionId = "",
|
||
|
|
// amount = (int)(ConfigSystem.GetConfig<CommonModel>().Passportgift * 100),
|
||
|
|
// sku = PurchasingManager.battle_pass,
|
||
|
|
// currency = "USD"
|
||
|
|
// };
|
||
|
|
|
||
|
|
// PurchasingManager.Instance.Purchase(PurchasingManager.battle_pass, test);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
// SaveData.GetSaveobject().is_get_battlepass = true;
|
||
|
|
// int gold = 0;
|
||
|
|
// int out_ = 0;
|
||
|
|
// int back_ = 0;
|
||
|
|
// int refresh_ = 0;
|
||
|
|
|
||
|
|
// for (int i = 0; i < Passportrewards_list.Count; i++)
|
||
|
|
// {
|
||
|
|
// if (GameHelper.getBattleLv() > i)
|
||
|
|
// {
|
||
|
|
// if (Passportrewards_list[i].Paid_rewards_type == 0) gold += Passportrewards_list[i].Paid_rewards_num;
|
||
|
|
// else if (Passportrewards_list[i].Paid_rewards_type == 1) out_ += Passportrewards_list[i].Paid_rewards_num;
|
||
|
|
// else if (Passportrewards_list[i].Paid_rewards_type == 2) back_ += Passportrewards_list[i].Paid_rewards_num;
|
||
|
|
// else if (Passportrewards_list[i].Paid_rewards_type == 3) refresh_ += Passportrewards_list[i].Paid_rewards_num;
|
||
|
|
// SaveData.GetSaveobject().battle_pass_paylist.Add(i + 1);
|
||
|
|
// }
|
||
|
|
// else break;
|
||
|
|
// }
|
||
|
|
// if (gold > 0)
|
||
|
|
// {
|
||
|
|
// var start = GameHelper.GetUICenterPosition(ui.pass_com.btn_pay);
|
||
|
|
// var end = GameHelper.GetUICenterPosition(ui.gold.GetChild("number_text"));
|
||
|
|
|
||
|
|
|
||
|
|
// Goda temp = new Goda() { start = start, end = end, change = gold, type = 101 };
|
||
|
|
// UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.CoinWnd_newUI_Open, temp);
|
||
|
|
// GameHelper.addGoldNumber(gold);
|
||
|
|
// GameDispatcher.Instance.Dispatch(GameMsg.Gold_refresh);
|
||
|
|
// DOVirtual.DelayedCall(1, () =>
|
||
|
|
// {
|
||
|
|
// DOVirtual.Float(0, (float)GameHelper.GetGoldNumber(), 1f,
|
||
|
|
// value => { ui.gold.GetChild("number_text").text = ((int)value).ToString(); });
|
||
|
|
// });
|
||
|
|
|
||
|
|
// }
|
||
|
|
// GameHelper.AddItemNumber(0, out_);
|
||
|
|
// GameHelper.AddItemNumber(1, back_);
|
||
|
|
// GameHelper.AddItemNumber(2, refresh_);
|
||
|
|
// GameDispatcher.Instance.Dispatch(GameMsg.Sheep_item_refresh);
|
||
|
|
// ui.pass_com.pass_list.numItems = Passportrewards_list.Count + 1;
|
||
|
|
// ui.pass_com.btn_pay.visible = false;
|
||
|
|
// SaveData.saveDataFunc();
|
||
|
|
});
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
void setItemUrl(GLoader loader, int urltype)
|
||
|
|
{
|
||
|
|
if (urltype == 0) loader.url = "ui://G009_video_animal/master_pass_box_01_gold";
|
||
|
|
else if (urltype == 4) loader.url = "ui://G009_video_animal/master_pass_box_02_gold";
|
||
|
|
else if (urltype == 1) loader.url = "ui://G003_play_animal/yxjm_bottom_remove";
|
||
|
|
else if (urltype == 2) loader.url = "ui://G003_play_animal/yxjm_bottom_undo";
|
||
|
|
else if (urltype == 3) loader.url = "ui://G003_play_animal/yxjm_bottom_refresh";
|
||
|
|
}
|
||
|
|
void seItemClick(com_passreward item, int number, int type)
|
||
|
|
{
|
||
|
|
var start = GameHelper.GetUICenterPosition(item);
|
||
|
|
var end = GameHelper.GetUICenterPosition(ui.gold.GetChild("number_text"));
|
||
|
|
|
||
|
|
|
||
|
|
if (type == 0)
|
||
|
|
{
|
||
|
|
// Goda temp = new Goda() { start = start, end = end, change = number, type = 101 };
|
||
|
|
// UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.CoinWnd_newUI_Open, temp);
|
||
|
|
// GameHelper.addGoldNumber(number);
|
||
|
|
// GameDispatcher.Instance.Dispatch(GameMsg.Gold_refresh);
|
||
|
|
// DOVirtual.DelayedCall(1, () =>
|
||
|
|
// {
|
||
|
|
// DOVirtual.Float(0, (float)GameHelper.GetGoldNumber(), 1f,
|
||
|
|
// value => { ui.gold.GetChild("number_text").text = ((int)value).ToString(); });
|
||
|
|
// });
|
||
|
|
var rewardData = new RewardData
|
||
|
|
{
|
||
|
|
displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange
|
||
|
|
};
|
||
|
|
var rewardSingleData = new Goda(101, number, RewardOrigin.Play)
|
||
|
|
{
|
||
|
|
startPosition = start,
|
||
|
|
endPosition = end,
|
||
|
|
|
||
|
|
};
|
||
|
|
rewardData.AddReward(rewardSingleData);
|
||
|
|
GameDispatcher.Instance.Dispatch(BingoInfo.GetReward, rewardData);
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
|
||
|
|
GameHelper.AddItemNumber(type - 1, number);
|
||
|
|
GameDispatcher.Instance.Dispatch(GameMsg.Sheep_item_refresh);
|
||
|
|
}
|
||
|
|
|
||
|
|
ui.pass_com.pass_list.numItems = Passportrewards_list.Count + 1;
|
||
|
|
ui.com_toptab.red_0.visible = SaveData.battlepassred();
|
||
|
|
|
||
|
|
|
||
|
|
DOVirtual.DelayedCall(1.0f, () =>
|
||
|
|
{
|
||
|
|
var startNum = GameHelper.GetGoldNumber() - number;
|
||
|
|
DOVirtual.Float(startNum, (float)GameHelper.GetGoldNumber(), 1f,
|
||
|
|
value => { ui.gold.GetChild("number_text").text = ((int)value).ToString(); });
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
void battle_itemRender(int index, GObject obj)
|
||
|
|
{
|
||
|
|
com_passitem item = (com_passitem)obj;
|
||
|
|
// Debug.Log(SaveData.GetSaveobject().battle_pass_level);
|
||
|
|
int pass_level = GameHelper.getBattleLv();
|
||
|
|
item.index_text.text = index.ToString();
|
||
|
|
item.free_item.type.selectedIndex = 0;
|
||
|
|
item.pay_item.type.selectedIndex = 1;
|
||
|
|
|
||
|
|
List<int> freelist = SaveData.GetSaveobject().battle_pass_freelist;
|
||
|
|
List<int> paylist = SaveData.GetSaveobject().battle_pass_paylist;
|
||
|
|
if (index > 0)
|
||
|
|
{
|
||
|
|
|
||
|
|
|
||
|
|
item.free_item.number_text.text = "x" + Passportrewards_list[index - 1].Free_rewards_num;
|
||
|
|
item.pay_item.number_text.text = "x" + Passportrewards_list[index - 1].Paid_rewards_num;
|
||
|
|
if (Passportrewards_list[index - 1].Free_rewards_type == 0)
|
||
|
|
{
|
||
|
|
setItemUrl(item.free_item.item_loader, 0);
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
setItemUrl(item.free_item.item_loader, Passportrewards_list[index - 1].Paid_rewards_type);
|
||
|
|
}
|
||
|
|
if (Passportrewards_list[index - 1].Paid_rewards_type == 0)
|
||
|
|
{
|
||
|
|
setItemUrl(item.pay_item.item_loader, 4);
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
setItemUrl(item.pay_item.item_loader, Passportrewards_list[index - 1].Paid_rewards_type);
|
||
|
|
}
|
||
|
|
if (index <= pass_level)//等级超过了
|
||
|
|
{
|
||
|
|
if (freelist.Contains(index))//领取过
|
||
|
|
{
|
||
|
|
item.free_item.state.selectedIndex = 2;
|
||
|
|
item.free_item.SetClick(() => { });
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.free_item.state.selectedIndex = 1;
|
||
|
|
item.free_item.SetClick(() =>
|
||
|
|
{
|
||
|
|
freelist.Add(index);
|
||
|
|
SaveData.saveDataFunc();
|
||
|
|
GameHelper.ShowTips("Successfully claimed");
|
||
|
|
seItemClick(item.free_item, Passportrewards_list[index - 1].Free_rewards_num, Passportrewards_list[index - 1].Free_rewards_type);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (paylist.Contains(index))//领取过
|
||
|
|
{
|
||
|
|
item.pay_item.state.selectedIndex = 2;
|
||
|
|
item.pay_item.SetClick(() => { });
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
if (SaveData.GetSaveobject().is_get_battlepass)
|
||
|
|
{
|
||
|
|
item.pay_item.state.selectedIndex = 1;
|
||
|
|
item.pay_item.SetClick(() =>
|
||
|
|
{
|
||
|
|
paylist.Add(index);
|
||
|
|
SaveData.saveDataFunc();
|
||
|
|
seItemClick(item.pay_item, Passportrewards_list[index - 1].Paid_rewards_num, Passportrewards_list[index - 1].Paid_rewards_type);
|
||
|
|
|
||
|
|
GameHelper.ShowTips("Successfully claimed");
|
||
|
|
|
||
|
|
});
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.pay_item.state.selectedIndex = 4;
|
||
|
|
item.pay_item.SetClick(() =>
|
||
|
|
{
|
||
|
|
if (GameHelper.IsGiftSwitch()) UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PassunlockUI_Open);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.free_item.state.selectedIndex = 0;//不可领取
|
||
|
|
item.free_item.SetClick(() =>
|
||
|
|
{
|
||
|
|
GameHelper.ShowTips("Receiving level not reached");
|
||
|
|
});
|
||
|
|
item.pay_item.SetClick(() =>
|
||
|
|
{
|
||
|
|
if (SaveData.GetSaveobject().is_get_battlepass)
|
||
|
|
{
|
||
|
|
GameHelper.ShowTips("Receiving level not reached");
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
if (GameHelper.IsGiftSwitch()) UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PassunlockUI_Open);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
if (SaveData.GetSaveobject().is_get_battlepass)
|
||
|
|
{
|
||
|
|
item.pay_item.state.selectedIndex = 0;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.pay_item.state.selectedIndex = 3;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
if (index == 0)
|
||
|
|
{
|
||
|
|
item.state.selectedIndex = 3;
|
||
|
|
|
||
|
|
}
|
||
|
|
else if (index == 1)
|
||
|
|
{
|
||
|
|
item.state.selectedIndex = 0;
|
||
|
|
|
||
|
|
if (pass_level > 0)
|
||
|
|
{
|
||
|
|
item.progress_0_top.height = 135;
|
||
|
|
|
||
|
|
Debug.Log((((float)(GameHelper.GetGameExp() - Passportrewards_list[0].Eliminating_quantity) / ((Passportrewards_list[1].Eliminating_quantity - Passportrewards_list[0].Eliminating_quantity)))) * 2);
|
||
|
|
if (((float)(GameHelper.GetGameExp() - Passportrewards_list[0].Eliminating_quantity) / (Passportrewards_list[1].Eliminating_quantity - Passportrewards_list[0].Eliminating_quantity)) > 0.5)
|
||
|
|
{
|
||
|
|
item.progress_0_down.height = 175;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
|
||
|
|
item.progress_0_down.height = (((float)(GameHelper.GetGameExp() - Passportrewards_list[0].Eliminating_quantity) / ((Passportrewards_list[1].Eliminating_quantity - Passportrewards_list[0].Eliminating_quantity)))) * 2 * 175;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.progress_0_top.height = (float)GameHelper.GetGameExp() / Passportrewards_list[0].Eliminating_quantity * 135;
|
||
|
|
item.progress_0_down.height = 0;
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
else if (index == Passportrewards_list.Count)
|
||
|
|
{
|
||
|
|
item.state.selectedIndex = 2;
|
||
|
|
|
||
|
|
|
||
|
|
if (((float)(GameHelper.GetGameExp() - Passportrewards_list[index - 2].Eliminating_quantity) / (Passportrewards_list[index - 1].Eliminating_quantity - Passportrewards_list[index - 2].Eliminating_quantity)) > 0.5)
|
||
|
|
{
|
||
|
|
float height = (((float)(GameHelper.GetGameExp() - Passportrewards_list[index - 2].Eliminating_quantity) / (Passportrewards_list[index - 1].Eliminating_quantity - Passportrewards_list[index - 2].Eliminating_quantity)) - 0.5f) * 2 * 167;
|
||
|
|
if (height > 167) height = 167;
|
||
|
|
item.progress_2_top.height = height;
|
||
|
|
}
|
||
|
|
else item.progress_2_top.height = 0;
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.state.selectedIndex = 1;
|
||
|
|
|
||
|
|
if (pass_level >= index)
|
||
|
|
{
|
||
|
|
item.progress_1_top.height = 167;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
if (pass_level == (index - 1))
|
||
|
|
{
|
||
|
|
|
||
|
|
if (((float)(GameHelper.GetGameExp() - Passportrewards_list[index - 2].Eliminating_quantity) / (Passportrewards_list[index - 1].Eliminating_quantity - Passportrewards_list[index - 2].Eliminating_quantity)) > 0.5)
|
||
|
|
{
|
||
|
|
float height = (((float)(GameHelper.GetGameExp() - Passportrewards_list[index - 2].Eliminating_quantity) / (Passportrewards_list[index - 1].Eliminating_quantity - Passportrewards_list[index - 2].Eliminating_quantity)) - 0.5f) * 2 * 167;
|
||
|
|
if (height > 167) height = 167;
|
||
|
|
item.progress_1_top.height = height;
|
||
|
|
}
|
||
|
|
else item.progress_1_top.height = 0;
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.progress_1_top.height = 0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (pass_level == index)
|
||
|
|
{
|
||
|
|
Debug.Log("-----------------");
|
||
|
|
Debug.Log(((float)(GameHelper.GetGameExp() - Passportrewards_list[index - 1].Eliminating_quantity) / (Passportrewards_list[index].Eliminating_quantity - Passportrewards_list[index - 1].Eliminating_quantity)));
|
||
|
|
if (((float)(GameHelper.GetGameExp() - Passportrewards_list[index - 1].Eliminating_quantity) / (Passportrewards_list[index].Eliminating_quantity - Passportrewards_list[index - 1].Eliminating_quantity)) <= 0.5)
|
||
|
|
{
|
||
|
|
float height = (((float)(GameHelper.GetGameExp() - Passportrewards_list[index - 1].Eliminating_quantity) / (Passportrewards_list[index].Eliminating_quantity - Passportrewards_list[index - 1].Eliminating_quantity))) * 2 * 167;
|
||
|
|
if (height > 167) height = 167;
|
||
|
|
item.progress_1_down.height = height;
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.progress_1_down.height = 167;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
if (pass_level > index) item.progress_1_down.height = 167;
|
||
|
|
else item.progress_1_down.height = 0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
void sortTaskList()
|
||
|
|
{
|
||
|
|
// recored_list = NewTaskModel.getTaskRecord();
|
||
|
|
recored_list = SaveData.GetSaveobject().pass_task_record;
|
||
|
|
List<PassingTasks> templist = new List<PassingTasks>();
|
||
|
|
passing_list.Sort((x, y) => x.id - y.id);
|
||
|
|
for (int i = 0; i < passing_list.Count; i++)
|
||
|
|
{
|
||
|
|
if (recored_list.Contains(passing_list[i].id))
|
||
|
|
{
|
||
|
|
passing_list[i].is_get = true;
|
||
|
|
templist.Add(passing_list[i]);
|
||
|
|
passing_list.Remove(passing_list[i]);
|
||
|
|
i--;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
passing_list.AddRange(templist);
|
||
|
|
|
||
|
|
ui.task_list.itemRenderer = passingTaskrRender;
|
||
|
|
ui.task_list.numItems = passing_list.Count;
|
||
|
|
ui.com_toptab.red_1.visible = SaveData.passtaskred();
|
||
|
|
}
|
||
|
|
void sortTimeList()
|
||
|
|
{
|
||
|
|
//time_recored_list = NewTaskModel.getTimeRecord();
|
||
|
|
time_recored_list = SaveData.GetSaveobject().time_task_record;
|
||
|
|
List<Durationtasks> templist = new List<Durationtasks>();
|
||
|
|
Durationtasks_list.Sort((x, y) => x.id - y.id);
|
||
|
|
|
||
|
|
for (int i = 0; i < Durationtasks_list.Count; i++)
|
||
|
|
{
|
||
|
|
if (time_recored_list.Contains(Durationtasks_list[i].id))
|
||
|
|
{
|
||
|
|
Durationtasks_list[i].is_get = true;
|
||
|
|
templist.Add(Durationtasks_list[i]);
|
||
|
|
Durationtasks_list.Remove(Durationtasks_list[i]);
|
||
|
|
i--;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
Durationtasks_list.AddRange(templist);
|
||
|
|
|
||
|
|
ui.task_list.itemRenderer = durationRender;
|
||
|
|
ui.task_list.numItems = Durationtasks_list.Count;
|
||
|
|
ui.com_toptab.red_2.visible = SaveData.timetaskred();
|
||
|
|
}
|
||
|
|
|
||
|
|
void passingTaskrRender(int index, GObject obj)
|
||
|
|
{
|
||
|
|
task_item item = (task_item)obj;
|
||
|
|
// item.content_text.text=string .Format(passing_list[index].text_read,passing_list[index].tol_num);
|
||
|
|
|
||
|
|
item.content_text.text = passing_list[index].text_read;
|
||
|
|
item.number_text.text = "x" + passing_list[index].reward_num;
|
||
|
|
// if (passing_list[index].id % 3 == 0)
|
||
|
|
// {
|
||
|
|
// item.ez_img.visible = item.text_ez.visible = false;
|
||
|
|
// item.diff_img.visible = item.text_diff.visible = true;
|
||
|
|
// }
|
||
|
|
// else
|
||
|
|
// {
|
||
|
|
// item.ez_img.visible = item.text_ez.visible = true;
|
||
|
|
// item.diff_img.visible = item.text_diff.visible = false;
|
||
|
|
// }
|
||
|
|
if ((GameHelper.GetLevel() - 1) < passing_list[index].tol_num)
|
||
|
|
{
|
||
|
|
item.progress_text.text = (GameHelper.GetLevel() - 1) + "/" + passing_list[index].tol_num;
|
||
|
|
item.progress.width = 418 * ((float)(GameHelper.GetLevel() - 1) / passing_list[index].tol_num);
|
||
|
|
item.btn_get.state.selectedIndex = 1;
|
||
|
|
item.btn_get.progress_text.text = "To complete";
|
||
|
|
item.btn_get.SetClick(() =>
|
||
|
|
{
|
||
|
|
|
||
|
|
});
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.progress_text.text = passing_list[index].tol_num + "/" + passing_list[index].tol_num;
|
||
|
|
item.progress.width = 418;
|
||
|
|
if (!passing_list[index].is_get)
|
||
|
|
{
|
||
|
|
item.btn_get.state.selectedIndex = 0;
|
||
|
|
item.btn_get.SetClick(() =>
|
||
|
|
{
|
||
|
|
start_pos = GameHelper.GetUICenterPosition(item.gold_img);
|
||
|
|
reward_number = passing_list[index].reward_num;
|
||
|
|
task_id = passing_list[index].id;
|
||
|
|
reward_type = 1;
|
||
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.GetTaskRewardUI_Open, passing_list[index].reward_num);
|
||
|
|
});
|
||
|
|
item.btn_get.progress_text.text = "Claim";
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.btn_get.SetClick(() =>
|
||
|
|
{
|
||
|
|
});
|
||
|
|
item.btn_get.progress_text.text = "Claimed";
|
||
|
|
item.btn_get.state.selectedIndex = 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
void getRewardSuccess(object a = null)
|
||
|
|
{
|
||
|
|
|
||
|
|
if ((bool)a) reward_number *= 2;
|
||
|
|
var end = GameHelper.GetUICenterPosition(ui.gold.GetChild("number_text"));
|
||
|
|
|
||
|
|
// Goda temp = new Goda() { start = start_pos, end = end, change = reward_number, type = 101 };
|
||
|
|
// UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.CoinWnd_newUI_Open, temp);
|
||
|
|
var rewardData = new RewardData
|
||
|
|
{
|
||
|
|
displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange
|
||
|
|
};
|
||
|
|
var rewardSingleData = new Goda(101, reward_number, RewardOrigin.Play)
|
||
|
|
{
|
||
|
|
startPosition = start_pos,
|
||
|
|
endPosition = end,
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
rewardData.AddReward(rewardSingleData);
|
||
|
|
GameDispatcher.Instance.Dispatch(BingoInfo.GetReward, rewardData);
|
||
|
|
if (reward_type == 1)
|
||
|
|
{
|
||
|
|
recored_list.Add(task_id);
|
||
|
|
// NewTaskModel.saveRecord(recored_list);
|
||
|
|
SaveData.saveDataFunc();
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
time_recored_list.Add(task_id);
|
||
|
|
//NewTaskModel.saveTimeRecord(time_recored_list);
|
||
|
|
SaveData.saveDataFunc();
|
||
|
|
}
|
||
|
|
|
||
|
|
DOVirtual.DelayedCall(1.0f, () =>
|
||
|
|
{
|
||
|
|
var startNum = GameHelper.GetGoldNumber() - reward_number;
|
||
|
|
DOVirtual.Float(startNum, (float)GameHelper.GetGoldNumber(), 1f,
|
||
|
|
value => { ui.gold.GetChild("number_text").text = ((int)value).ToString(); });
|
||
|
|
});
|
||
|
|
|
||
|
|
if (reward_type == 1)
|
||
|
|
{
|
||
|
|
sortTaskList();
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
sortTimeList();
|
||
|
|
}
|
||
|
|
//GameHelper.addInterAdnumber();
|
||
|
|
|
||
|
|
GameDispatcher.Instance.Dispatch(GameMsg.Gold_refresh);
|
||
|
|
}
|
||
|
|
|
||
|
|
void durationRender(int index, GObject obj)
|
||
|
|
{
|
||
|
|
task_item item = (task_item)obj;
|
||
|
|
|
||
|
|
item.content_text.text = Durationtasks_list[index].text_read;
|
||
|
|
item.number_text.text = "x" + Durationtasks_list[index].reward_num;
|
||
|
|
|
||
|
|
// item.ez_img.visible = item.text_ez.visible = false;
|
||
|
|
// item.diff_img.visible = item.text_diff.visible = false;
|
||
|
|
|
||
|
|
if ((GameHelper.GetGameTime() / 60) < Durationtasks_list[index].tol_num)
|
||
|
|
{
|
||
|
|
item.progress_text.text = Math.Round((float)GameHelper.GetGameTime() / 60, 2) + "/" + Durationtasks_list[index].tol_num;
|
||
|
|
item.progress.width = 418 * ((((float)GameHelper.GetGameTime()) / 60) / Durationtasks_list[index].tol_num);
|
||
|
|
item.btn_get.state.selectedIndex = 1;
|
||
|
|
item.btn_get.SetClick(() =>
|
||
|
|
{
|
||
|
|
|
||
|
|
});
|
||
|
|
item.btn_get.progress_text.text = "To complete";
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.progress_text.text = Durationtasks_list[index].tol_num + "/" + Durationtasks_list[index].tol_num;
|
||
|
|
item.progress.width = 418;
|
||
|
|
if (!Durationtasks_list[index].is_get)
|
||
|
|
{
|
||
|
|
item.btn_get.state.selectedIndex = 0;
|
||
|
|
item.btn_get.SetClick(() =>
|
||
|
|
{
|
||
|
|
start_pos = GameHelper.GetUICenterPosition(item.gold_img);
|
||
|
|
reward_number = Durationtasks_list[index].reward_num;
|
||
|
|
task_id = Durationtasks_list[index].id;
|
||
|
|
reward_type = 2;
|
||
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.GetTaskRewardUI_Open, Durationtasks_list[index].reward_num);
|
||
|
|
});
|
||
|
|
item.btn_get.progress_text.text = "Claim";
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
item.btn_get.SetClick(() =>
|
||
|
|
{
|
||
|
|
});
|
||
|
|
item.btn_get.progress_text.text = "Claimed";
|
||
|
|
item.btn_get.state.selectedIndex = 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
void scrollToClaim()
|
||
|
|
{
|
||
|
|
|
||
|
|
for (int index = 1; index < Passportrewards_list.Count + 1; index++)
|
||
|
|
{
|
||
|
|
|
||
|
|
|
||
|
|
int pass_level = GameHelper.GetBattleLv_Index();
|
||
|
|
|
||
|
|
|
||
|
|
List<int> freelist = SaveData.GetSaveobject().battle_pass_freelist;
|
||
|
|
List<int> paylist = SaveData.GetSaveobject().battle_pass_paylist;
|
||
|
|
|
||
|
|
|
||
|
|
if (index <= pass_level || (GameHelper.GetGameExp() >= Passportrewards_list[Passportrewards_list.Count - 1].Eliminating_quantity))//等级超过了
|
||
|
|
{
|
||
|
|
if (freelist.Contains(index))//领取过
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
///keyitiaozhuan
|
||
|
|
|
||
|
|
Debug.Log("---------------" + index);
|
||
|
|
|
||
|
|
ui.pass_com.pass_list.ScrollToView_UseAnim(index - 1, true, 0.5f);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
if (paylist.Contains(index))//领取过
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
if (SaveData.GetSaveobject().is_get_battlepass)
|
||
|
|
{
|
||
|
|
///keyitiaozhuan
|
||
|
|
Debug.Log("---------------" + index);
|
||
|
|
ui.pass_com.pass_list.ScrollToView_UseAnim(index - 1, true, 0.5f);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|