Exemplo n.º 1
0
 public void OnCompleteTask(EB.Sparx.Response result)
 {
     InputBlockerManager.Instance.UnBlock(InputBlockReason.FUSION_BLOCK_UI_INTERACTION);
     if (result.sucessful)
     {
         if (result.hashtable != null)
         {
             DataLookupsCache.Instance.CacheData(result.hashtable);
         }
         List <LTShowItemData> mlist = TaskStaticData.GetItemRewardList(taskId);
         FusionTelemetry.ItemsUmengCurrency(mlist, "任务获得");
         Hotfix_LT.Data.TaskTemplate taskTpl = Hotfix_LT.Data.TaskTemplateManager.Instance.GetTask(taskId);
         FusionTelemetry.TaskData.PostEvent(taskId, taskTpl.task_name, taskTpl.task_type.ToString());
         if (mlist.Count > 0)
         {
             var ht = Johny.HashtablePool.Claim();
             ht.Add("reward", mlist);
             GlobalMenuManager.Instance.Open("LTShowRewardView", ht);
         }
     }
     else
     {
         result.CheckAndShowModal();
     }
 }
Exemplo n.º 2
0
        private void ShowCurLevelReward(System.Action callback = null)
        {
            List <LTShowItemData> list        = new List <LTShowItemData>();
            Hashtable             rewardTable = Johny.HashtablePool.Claim();

            DataLookupsCache.Instance.SearchDataByID <Hashtable>("userCampaignStatus.challengeChapters.reward", out rewardTable);
            foreach (DictionaryEntry data in rewardTable)
            {
                string type     = EB.Dot.String("type", data.Value, string.Empty);
                int    num      = EB.Dot.Integer("quantity", data.Value, 0);
                string id       = EB.Dot.String("data", data.Value, string.Empty);
                bool   fromWish = EB.Dot.Bool("wishReward", data.Value, false);
                list.Add(new LTShowItemData(id, num, type, false, isFromWish: fromWish));
            }
            if (list.Count > 0)
            {
                //上传友盟获得钻石,挑战
                FusionTelemetry.ItemsUmengCurrency(list, "异界迷宫获得");

                if (callback != null)
                {
                    var ht = Johny.HashtablePool.Claim();
                    ht.Add("reward", list);
                    ht.Add("callback", callback);
                    GlobalMenuManager.Instance.Open("LTShowRewardView", ht);
                }
                else
                {
                    GlobalMenuManager.Instance.Open("LTShowRewardView", list);
                }
            }
        }
Exemplo n.º 3
0
        private void ShowCurLevelReward(System.Action callback = null)
        {
            List <LTShowItemData> list        = new List <LTShowItemData>();
            Hashtable             rewardTable = Johny.HashtablePool.Claim();

            DataLookupsCache.Instance.SearchDataByID <Hashtable>("userCampaignStatus.challengeChapters.reward", out rewardTable);
            ArrayList wishRewards;

            DataLookupsCache.Instance.SearchDataByID(string.Format("tl_acs.{0}.wish_reward", LTEquipmentWishController.equipmentWishActivityId), out wishRewards);

            if (wishRewards == null)
            {
                wishRewards = new ArrayList();
            }

            foreach (DictionaryEntry data in rewardTable)
            {
                string type     = EB.Dot.String("type", data.Value, string.Empty);
                int    num      = EB.Dot.Integer("quantity", data.Value, 0);
                string id       = EB.Dot.String("data", data.Value, string.Empty);
                bool   fromWish = EB.Dot.Bool("wishReward", data.Value, false);
                list.Add(new LTShowItemData(id, num, type, isFromWish: fromWish));

                if (fromWish && !string.IsNullOrEmpty(id))
                {
                    for (var i = 0; i < num; i++)
                    {
                        wishRewards.Add(id);
                    }
                }
            }

            // 套装许愿数量刷新
            if (wishRewards != null && wishRewards.Count > 0)
            {
                DataLookupsCache.Instance.CacheData(string.Format("tl_acs.{0}.wish_reward", LTEquipmentWishController.equipmentWishActivityId), wishRewards);
            }

            if (list.Count > 0)
            {
                //上传友盟获得钻石,挑战
                FusionTelemetry.ItemsUmengCurrency(list, "挑战副本获得");
                if (callback != null)
                {
                    var ht = Johny.HashtablePool.Claim();
                    ht.Add("reward", list);
                    ht.Add("callback", callback);
                    GlobalMenuManager.Instance.Open("LTShowRewardView", ht);
                }
                else
                {
                    GlobalMenuManager.Instance.Open("LTShowRewardView", list);
                }
            }
        }
Exemplo n.º 4
0
        static public List <LTShowItemData> GetRewardItemDatas()
        {
            int   gold     = 0;
            float gold_mul = 1;

            DataLookupsCache.Instance.SearchIntByID("combat.rewards[0].gold.quantity", out gold);
            if (!DataLookupsCache.Instance.SearchDataByID <float>("combat.rewards[0].gold.mul", out gold_mul))
            {
                gold_mul = 1;
            }

            ArrayList rewards = null;

            DataLookupsCache.Instance.SearchDataByID <ArrayList>(m_RewardListDataID, out rewards);
            List <LTShowItemData> datas = new List <LTShowItemData>();

            if (rewards != null)
            {
                for (int j = 0; j < rewards.Count; j++)
                {
                    string id       = EB.Dot.String("data", rewards[j], "");
                    int    num      = EB.Dot.Integer("quantity", rewards[j], 1);
                    float  mul      = (float)EB.Dot.Double("mul", rewards[j], 1);
                    string type     = EB.Dot.String("type", rewards[j], LTShowItemType.TYPE_GAMINVENTORY);
                    bool   fromWish = EB.Dot.Bool("wishReward", rewards[j], false);

                    int index = datas.FindIndex(delegate(LTShowItemData data)
                    {
                        if (data.id == id)
                        {
                            return(true);
                        }
                        return(false);
                    });

                    if (index < 0)
                    {
                        datas.Add(new LTShowItemData(id, num, type, false, mul, fromWish));
                    }
                    else
                    {
                        datas[index].count = datas[index].count + num;
                    }
                }

                if (gold > 0)
                {
                    var item = new LTShowItemData("gold", gold, LTShowItemType.TYPE_RES, false, gold_mul);
                    datas.Add(item);
                    FusionTelemetry.ItemsUmengCurrency(item, "战斗结算");
                }
            }

            return(datas);
        }
Exemplo n.º 5
0
        public void OnMultiBlitzBtnClick()
        {
            if (campaignId <= 0)
            {
                return;
            }

            Hotfix_LT.Data.FuncTemplate ft = Hotfix_LT.Data.FuncTemplateManager.Instance.GetFunc(10077);
            if (ft != null && !ft.IsConditionOK())
            {
                MessageTemplateManager.ShowMessage(eMessageUIType.FloatingText, ft.GetConditionStr());
                return;
            }

            int vaildTimes = IsVigorEnough(10);

            if (vaildTimes <= 0)
            {
                BalanceResourceUtil.TurnToVigorGotView();
                return;
            }

            if (isRequest)
            {
                return;
            }
            InputBlockerManager.Instance.Block(InputBlockReason.FUSION_BLOCK_UI_INTERACTION, 0.5f);
            isRequest = true;

            if (mCallback != null)
            {
                mCallback();
            }

            LTInstanceMapModel.Instance.RequestMainBlitzCampaign(campaignId, vaildTimes, delegate
            {
                isRequest = false;
                List <LTMainInstanceBlitzData> list = LTInstanceUtil.GetBlitzData();
                for (int i = 0; i < list.Count; ++i)
                {
                    FusionTelemetry.ItemsUmengCurrency(list[i].ItemList, "主线扫荡");
                }

                Hashtable data = Johny.HashtablePool.Claim();
                data.Add("list", list);
                data.Add("num", 10);
                data.Add("ItemId", mTargetItemId);
                GlobalMenuManager.Instance.Open("LTMainInstanceBlitzView", data);

                if (!string.IsNullOrEmpty(mTargetItemId))
                {
                    controller.Close();
                }
            });
        }
Exemplo n.º 6
0
        public void OnOneKeyClick()
        {
            bool HaveUnReceivedMail = false;

            //List<ShowItemData> awardDatas = new List<ShowItemData>();
            for (var i = 0; i < MailBoxManager.Instance.MailList.Mails.Count; i++)
            {
                var mail = MailBoxManager.Instance.MailList.Mails[i];

                if (!mail.HasReceived && mail.ItemCount > 0)
                {
                    //mail.HasRead = true;
                    HaveUnReceivedMail = true;
                    //awardDatas.AddRange(mail.Rewards.ItemList);
                }
            }

            if (!HaveUnReceivedMail)
            {
                MessageTemplateManager.ShowMessage(eMessageUIType.FloatingText, EB.Localizer.GetString("ID_codefont_in_MailController_4041"));
            }
            else
            {
                MailBoxManager.Instance.OneKeyReceive(delegate(Hashtable result)
                {
                    if (result != null)
                    {
                        MailBoxManager.Instance.GetMailList();
                        MessageTemplateManager.ShowMessage(eMessageUIType.FloatingText, EB.Localizer.GetString("ID_codefont_in_MailController_4300"));
                        List <LTShowItemData> awardDatas = GameUtils.ParseAwardArr(Hotfix_LT.EBCore.Dot.Array("mailbox.claimResult", result, null));
                        SetMailContent(MailItemData);

                        //上传友盟获得钻石,系统
                        FusionTelemetry.ItemsUmengCurrency(awardDatas, "邮件获得");

                        if (awardDatas.Count > 0)
                        {
                            GlobalMenuManager.Instance.Open("LTShowRewardView", awardDatas);
                        }

                        if (MailItemData.ItemCount > 0)
                        {
                            controller.Transforms["ReceiveBtn"].gameObject.CustomSetActive(false);
                            controller.UiSprites["HasReceivedBtn"].gameObject.CustomSetActive(true);
                        }
                        else
                        {
                            controller.Transforms["ReceiveBtn"].gameObject.CustomSetActive(false);
                            controller.UiSprites["HasReceivedBtn"].gameObject.CustomSetActive(false);
                        }
                    }
                });
            }
        }
Exemplo n.º 7
0
        static public void SendDeliveryDartRequest(string dartId)
        {
            AlliancesManager.Instance.Finish(dartId, delegate(bool successful) {
                if (successful)
                {
                    AlliancesManager.Instance.Complete(dartId, delegate(Hashtable result)
                    {
                        if (result != null)
                        {
                            TransferDartMember dart = AlliancesManager.Instance.TransferDartInfo.Find(dartId);
                            dart.State = eAllianceTransferState.Finished;
                            AlliancesManager.Instance.DartData.State = eAllianceDartCurrentState.None;

                            bool escortIslost  = EB.Dot.Bool("escortIslost", result, false);
                            object robUserInfo = EB.Dot.Object("robUserInfo", result, null);
                            DartResultController.sResultType = escortIslost ? eDartResultType.TransferFail : eDartResultType.TransferSuccess;

                            var datas = GameUtils.ParseAwardArr(Hotfix_LT.EBCore.Dot.Array("completeAward", result, null));
                            var list  = new List <LTShowItemData>();

                            for (var i = 0; i < datas.Count; i++)
                            {
                                var item = datas[i];
                                list.Add(new LTShowItemData(item.id, item.count, item.type, false));
                            }

                            DartResultController.sRewardDataList = list;

                            //上传友盟获得钻石,军团护送
                            FusionTelemetry.ItemsUmengCurrency(datas, "军团护送");
                            FusionTelemetry.GamePlayData.PostEsortEvent("reward", "esort");
                            GlobalMenuManager.Instance.Open("LTShowDartResultHud", robUserInfo);
                        }
                        else
                        {
                            EB.Debug.LogError("DeliveryDart Fail");
                        }
                    });
                }
                else
                {
                    AlliancesManager.Instance.DartData.State = eAllianceDartCurrentState.None;
                }
            });
        }
Exemplo n.º 8
0
 public void OnReceiveChestResponse(Hashtable res)
 {
     if (res != null)
     {
         DataLookupsCache.Instance.CacheData(res);//手动存储,钻石抽奖无法存储
         LTLegionWarManager.Instance.FetchAward(res);
         MessageTemplateManager.ShowMessage(eMessageUIType.FloatingText, EB.Localizer.GetString("ID_codefont_in_LTLegionWarQualifyController_14751"));
         //上传友盟获得钻石,军团
         FusionTelemetry.ItemsUmengCurrency(m_CurrReceiveChest.StageData.Awards, "军团战获得");
         FusionTelemetry.GamePlayData.PostEvent(FusionTelemetry.GamePlayData.alliance_war_topic,
                                                FusionTelemetry.GamePlayData.alliance_war_event_id, FusionTelemetry.GamePlayData.alliance_war_umengId, "reward");
         GlobalMenuManager.Instance.Open("LTShowRewardView", m_CurrReceiveChest.StageData.Awards);
     }
     else
     {
         MessageTemplateManager.ShowMessage(eMessageUIType.FloatingText, EB.Localizer.GetString("ID_codefont_in_EconomyTemplateManager_62898"));
         //res.CheckAndShowModal();
     }
 }
Exemplo n.º 9
0
        public void OnReceiveBtnClick()
        {
            if (MailItemData == null)
            {
                EB.Debug.LogError("MailItemData is null");
                return;
            }

            MailBoxManager.Instance.ReceiveGift(MailItemData.MailId, delegate(bool successful) {
                //string itemName = GameItemUtil.GetNameWithColor(MailItemData.Rewards.GetItem(i).id, MailItemData.Rewards.GetItem(i).type);

                if (successful)
                {
                    MailItemData.HasReceived = true;

                    if (controller != null && controller.Transforms.ContainsKey("ReceiveBtn"))
                    {
                        controller.Transforms["ReceiveBtn"].gameObject.SetActive(!MailItemData.HasReceived);
                    }

                    if (controller != null && controller.UiSprites.ContainsKey("HasReceivedBtn"))
                    {
                        controller.UiSprites["HasReceivedBtn"].gameObject.SetActive(MailItemData.HasReceived);
                    }

                    if (MailBoxManager.Instance.MailList != null)
                    {
                        MailBoxManager.Instance.MailList.DataUpdated = true;
                    }

                    GameDataSparxManager.Instance.SetDirty(MailBoxManager.ListDataId);

                    if (MailItemData.Rewards != null)
                    {
                        //上传友盟获得钻石,系统
                        FusionTelemetry.ItemsUmengCurrency(MailItemData.Rewards.ItemList, "邮件获得");

                        GlobalMenuManager.Instance.Open("LTShowRewardView", MailItemData.Rewards.ItemList);
                    }
                }
            });
        }
Exemplo n.º 10
0
        public void OnStarBoxClick(GameObject box)
        {
            int needNum = int.Parse(box.name);

            int ownNum = LTInstanceUtil.GetChapterStarNum(LTInstanceMapModel.Instance.MainChapterId);

            List<LTShowItemData> itemList = Hotfix_LT.Data.SceneTemplateManager.Instance.GetLostMainChapterStarReward(LTInstanceMapModel.Instance.MainChapterId, needNum);
            if (itemList == null)
            {
                EB.Debug.LogError("GetLostMainChapterStarReward: not found, itemList is null, chapterId = {0}, starNum = {1}", LTInstanceMapModel.Instance.MainChapterId, needNum);
                return;
            }

            if (ownNum >= needNum)
            {
                LTInstanceMapModel.Instance.RequestMainGetStarReward(needNum, LTInstanceMapModel.Instance.MainChapterId, delegate
                {
                    if (itemList.Count > 0)
                    {
                        InitStarBox();
                        //上传友盟获得钻石,主线
                        List<LTShowItemData> mlist = itemList;
                        FusionTelemetry.ItemsUmengCurrency(itemList, "主线副本");

                        GlobalMenuManager.Instance.Open("LTShowRewardView", itemList);
                    }
                });
            }
            else
            {
                string tip = string.Format(EB.Localizer.GetString("ID_codefont_in_LTMainInstanceHudController_10032"), needNum);
                Hashtable data = Johny.HashtablePool.Claim();
                data.Add("data", itemList);
                data.Add("tip", tip);

                GlobalMenuManager.Instance.Open("LTRewardShowUI", data);
            }
        }
Exemplo n.º 11
0
 public void OnRewardBtnClick()
 {
     if (isPass && !hasGet)
     {
         LTInstanceMapModel.Instance.RequestGetAlienMazeReward(Data.Id, delegate {
             hasGet = true;
             HasGetRewardObj.CustomSetActive(true);
             FxObj.CustomSetActive(false);
             FusionTelemetry.GamePlayData.PostEvent(FusionTelemetry.GamePlayData.puzzle_camp_topic,
                                                    FusionTelemetry.GamePlayData.puzzle_camp_event_id, FusionTelemetry.GamePlayData.puzzle_camp_umengId, "reward");
             FusionTelemetry.ItemsUmengCurrency(Data.Reward, "异界迷宫");
             GlobalMenuManager.Instance.Open("LTShowRewardView", Data.Reward);
         });
     }
     else
     {
         var data = Johny.HashtablePool.Claim();
         data.Add("data", Data.Reward);
         data.Add("tip", (hasGet) ? EB.Localizer.GetString("ID_codefont_in_LadderController_11750") : string.Empty);
         data.Add("title", EB.Localizer.GetString("ID_ALIEN_MAZE_PASS_AWARD"));
         GlobalMenuManager.Instance.Open("LTRewardShowUI", data);
     }
 }
Exemplo n.º 12
0
        public void OnItemClick(GameObject obj)
        {
            int index = int.Parse(obj.name);

            FusionAudio.PostEvent("UI/General/ButtonClick", true);
            GlobalMenuManager.Instance.CloseMenu("LTMainInstanceLampView");
            LTInstanceMapModel.Instance.RequestMainPray(index, delegate
            {
                //上传友盟获得钻石,主线
                FusionTelemetry.ItemsUmengCurrency(new List <LTShowItemData>()
                {
                    data
                }, "主线副本");
                GlobalMenuManager.Instance.Open("LTShowRewardView", new List <LTShowItemData>()
                {
                    data
                });

                LTInstanceMapModel.Instance.PrayPoint -= (int)Hotfix_LT.Data.NewGameConfigTemplateManager.Instance.GetGameConfigValue("prayPointCost");

                GlobalMenuManager.CurGridMap_MajorDataUpdateFunc();
                Hotfix_LT.Messenger.Raise(EventName.UpDatePraypointUI);
            });
        }
Exemplo n.º 13
0
 public void ShowStarBox()
 {
     //检查宝箱是否可领取,可领取情况帮忙自动领取
     int starNum = LTInstanceUtil.GetChapterCurStarNum(mChapterTpl.Id);
     foreach (int key in mChapterTpl.RewardDataDic.Keys)
     {
         if (starNum >= key)
         {
             if (!LTInstanceUtil.IsChapterStarBoxOpen(mChapterTpl.Id, key))
             {
                 isShowingBoxReward = true;
                 LTInstanceMapModel.Instance.RequestMainGetStarReward(key, LTInstanceMapModel.Instance.MainChapterId, delegate
                 {
                     List<LTShowItemData> itemList = Hotfix_LT.Data.SceneTemplateManager.Instance.GetLostMainChapterStarReward(LTInstanceMapModel.Instance.MainChapterId, key);
                     if (itemList != null && itemList.Count > 0)
                     {
                         InitStarBox();
                         //上传友盟获得钻石,主线
                         FusionTelemetry.ItemsUmengCurrency(itemList, "主线副本");
                         System .Action callback =delegate { isShowingBoxReward = false; } ;
                         var ht = Johny.HashtablePool.Claim();
                         ht["reward"] = itemList;
                         ht["callback"] = callback;
                         ht["title"] =EB.Localizer .GetString("ID_MAIN_INSTANCE_BOX_REWRAD_TIP");
                         GlobalMenuManager.Instance.Open("LTShowBoxView", ht);
                     }
                     else
                     {
                         isShowingBoxReward = false;
                     }
                 });
                 break;
             }
         }
     }
 }