// using FGUI.A000_common; using System.Collections.Generic; using DG.Tweening; using FGUI.LG_Common; using SGModule.Common.Extensions; namespace RedHotRoast { public class RewardboxUI : BaseUI { private RewardboxUICtrl ctrl; private RewardboxModel model; private FGUI.ZM_Game_04.com_rewardbox ui; public RewardboxUI(RewardboxUICtrl ctrl) : base(ctrl) { uiName = UIConst.RewardboxUI; this.ctrl = ctrl; } protected override void SetUIInfo(UIInfo uiInfo) { uiInfo.packageName = "ZM_Game_04"; uiInfo.assetName = "com_rewardbox"; uiInfo.layerType = UILayerType.Popup; uiInfo.isNeedOpenAnim = false; uiInfo.isNeedCloseAnim = false; uiInfo.isNeedUIMask = true; } #region 生命周期 protected override void OnInit() { //model = ModuleManager.Instance.GetModel(ModelConst.RewardboxModel) as RewardboxModel; } protected override void OnClose() { GameHelper.showGameUI = true; } protected override void OnBind() { ui = baseUI as FGUI.ZM_Game_04.com_rewardbox; } protected override void OnOpenBefore(object args) { if (GameHelper.IsGiftSwitch()) ui.switchgift.selectedIndex = 1; else ui.switchgift.selectedIndex = 0; // (ui.btn_lookad as btn_tabad).color.selectedIndex = btn_tabad.Color_green; FGUI.ZM_Common_01.btn_claim btnlook = ui.btn_lookad as FGUI.ZM_Common_01.btn_claim; float[] ch_array = GameHelper.GetRewardValue(2); if (SaveData.GetSaveObject().LargeRewardNum < ConfigSystem.GetCommonConf().FreeClaims) { (ui.btn_lookad as FGUI.ZM_Common_01.btn_claim3).state.selectedIndex = 1; } ui.btn_lookad.SetClick(() => { if (SaveData.GetSaveObject().LargeRewardNum < ConfigSystem.GetCommonConf().FreeClaims) { StartScroll(); ui.btn_lookad.touchable = ui.btn_close.touchable = false; } else { GameHelper.ShowVideoAd("RewardBox", isSuccess => { if (isSuccess) { StartScroll(); ui.btn_lookad.touchable = ui.btn_close.touchable = false; } }); } }); ui.btn_close.SetClick(() => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RewardboxUI_Close); GameHelper.addInterAdnumber(); }); if (GameHelper.GetVipPrivilege(Subscription.DoubleChestReward.As())) { (ui.wheel as wheel).have_vip.selectedIndex = 1; } cash_num = (int)ch_array[0]; rate = (int)ch_array[1]; ui.gold_text.text = cash_num.ToString(); InitView(); } protected override void OnOpen(object args) { } protected override void OnHide() { } protected override void OnDisplay(object args) { } #endregion #region 消息 protected override void AddListener() { } protected override void RemoveListener() { } #endregion //初始化页面逻辑 private void InitView() { boost_array = GameHelper.GetRewardBoost(2); (ui.wheel.GetChild("wheel_") as wheel_).t0.Play(Scroll); (ui.wheel.GetChild("wheel_") as wheel_).t1.Play(() => { rate_idnex++; ui.btn_lookad.title = "" + cash_num * boost_array[rate_idnex % 5]; }); ui.btn_lookad.title = "" + cash_num * boost_array[rate_idnex]; list_1 = new List() { (ui.wheel.GetChild("wheel_") as wheel_).item_0, (ui.wheel.GetChild("wheel_") as wheel_).item_1, (ui.wheel.GetChild("wheel_") as wheel_).item_2, (ui.wheel.GetChild("wheel_") as wheel_).item_3, (ui.wheel.GetChild("wheel_") as wheel_).item_4, (ui.wheel.GetChild("wheel_") as wheel_).item_5, (ui.wheel.GetChild("wheel_") as wheel_).item_6, (ui.wheel.GetChild("wheel_") as wheel_).item_7, }; // list_1[2].img_light.visible = true; for (int i = 0; i < list_1.Count; i++) { list_1[i].type.selectedIndex = (i + scroll_number) % 3; list_1[i].text_rate.text = "X" + boost_array[i % boost_array.Length]; } } private float cash_num; private int[] boost_array; List list_1; private int rate_idnex = 3; private int scroll_number; List rate_list = new List(); private int scroll_type = 1; private int rate; private void StartScroll() { ui.btn_lookad.SetClick(() => { }); (ui.wheel.GetChild("wheel_") as wheel_).t0.timeScale = 5.0f; scroll_type = 2; } private void Scroll() { if (scroll_type == 1) { scroll_number++; rate_list.Clear(); for (int i = 0; i < 8; i++) { rate_list.Add(boost_array[(scroll_number + i) % boost_array.Length]); } for (int i = 0; i < list_1.Count; i++) { list_1[i].type.selectedIndex = (i + scroll_number) % 3; list_1[i].text_rate.text = "X" + rate_list[i]; } (ui.wheel.GetChild("wheel_") as wheel_).t1.Play(() => { rate_idnex++; ui.btn_lookad.title = GameHelper.Get101Str((decimal)cash_num * boost_array[rate_idnex % boost_array.Length]); }); (ui.wheel.GetChild("wheel_") as wheel_).t0.Play(Scroll); } else { scroll_number++; rate_list.Clear(); for (int i = 0; i < 8; i++) { rate_list.Add(boost_array[(scroll_number + i) % boost_array.Length]); } // bool need_return = false; if (((ui.wheel.GetChild("wheel_") as wheel_).t0.timeScale < 2f) && (list_1[4].text_rate.text == ("X" + rate))) { //开始领取 float reward = cash_num * rate; if (GameHelper.GetVipPrivilege(Subscription.DoubleChestReward.As())) { reward *= 2; } GameDispatcher.Instance.Dispatch(GameMsg.Ad_success, reward); SaveData.GetSaveObject().LargeRewardNum++; SaveData.SaveDataFunc(); DOVirtual.DelayedCall(1.5f, () => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RewardboxUI_Close); }); return; } for (int i = 0; i < list_1.Count; i++) { list_1[i].type.selectedIndex = (i + scroll_number) % 3; list_1[i].text_rate.text = "X" + rate_list[i]; } // if (need_return) // { // (ui.wheel.GetChild("wheel_") as wheel_).t0.timeScale = 0; // return; // } (ui.wheel.GetChild("wheel_") as wheel_).t1.Play(() => { rate_idnex++; ui.btn_lookad.title = GameHelper.Get101Str((decimal)cash_num * boost_array[rate_idnex % boost_array.Length]); }); (ui.wheel.GetChild("wheel_") as wheel_).t0.Play(Scroll); (ui.wheel.GetChild("wheel_") as wheel_).t0.timeScale = (ui.wheel.GetChild("wheel_") as wheel_).t0.timeScale - 0.3f; } } } }