Esempio n. 1
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);
                }
            }
        }
Esempio n. 2
0
 public void OnRefresh(EB.Sparx.Response res)
 {
     LoadingSpinner.Hide();
     if (res.sucessful)
     {
         //界面刷新由datalookup
         if (m_RefreshCostId == "hc")
         {
             FusionTelemetry.PostBuy(((int)FusionTelemetry.UseHC.hc_resetstore).ToString(), 1, refreshBlueCostCache);
         }
         ShowRefreshPrice();
         StartCoroutine(RefreshFxPlay());
     }
     else if (res.fatal)
     {
         SparxHub.Instance.FatalError(res.localizedError);
     }
     else
     {
         MessageTemplateManager.ShowMessage(901018, null, delegate(int result)
         {
             if (result == 0)
             {
                 m_RefreshRequest.SendRequest();
                 LoadingSpinner.Show();
             }
         });
     }
     isRefresh = false;
 }
Esempio n. 3
0
 public override void OnFetchData(EB.Sparx.Response res, int id)
 {
     LoadingSpinner.Hide();
     if (res.sucessful)
     {
         List <Hotfix_LT.Data.TimeLimitActivityStageTemplate> stageTmps = Hotfix_LT.Data.EventTemplateManager.Instance.GetTimeLimitActivityStages(ActivityId);
         if (LTHotfixManager.GetManager <TaskManager>().CurrentIndex < stageTmps.Count - 1)
         {
             LTHotfixManager.GetManager <TaskManager>().CurrentIndex++;
         }
         string cachePath;
         cachePath = "user_prize_data.taskacm_reward." + m_Chest.StageData.Id;
         DataLookupsCache.Instance.CacheData(cachePath, true);
         //上传友盟获得钻石,任务
         int hcCount = 0;
         List <LTShowItemData> mlist = m_Chest.StageData.Awards;
         for (int i = 0; i < mlist.Count; i++)
         {
             if (mlist[i].id == "hc")
             {
                 hcCount += mlist[i].count;
             }
         }
         FusionTelemetry.PostBonus(hcCount, Umeng.GA.BonusSource.Source2);
         GlobalMenuManager.Instance.Open("LTShowRewardView", m_Chest.StageData.Awards);
         UpdateChest();
     }
     else
     {
         res.CheckAndShowModal();
         //SparxHub.Instance.FatalError(res.localizedError);
     }
 }
Esempio n. 4
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();
     }
 }
Esempio n. 5
0
        public void OnRequestResponse(EB.Sparx.Response res)
        {
            LoadingSpinner.Hide();
            if (res.sucessful)
            {
                var user = EB.Dot.Object("user", res.hashtable, null);
                if (user == null)
                {
                    Debug.LogError("Missing user object on set name!!!");
                }
                else
                {
                    LoginManager.Instance.LocalUser.Update(user);
                }

                MessageTemplateManager.ShowMessage(902045);
                DataLookupsCache.Instance.CacheData("name", InputLabel.value);
                string name = null;
                if (DataLookupsCache.Instance.SearchDataByID <string>(string.Format("mainlands.pl.{0}.un", LoginManager.Instance.LocalUserId), out name) && !string.IsNullOrEmpty(name))
                {
                    DataLookupsCache.Instance.CacheData(string.Format("mainlands.pl.{0}.un", LoginManager.Instance.LocalUserId), InputLabel.value);
                }

                if (isHadRename)
                {
                    FusionTelemetry.PostBuy(((int)FusionTelemetry.UseHC.hc_playername).ToString(), 1, (int)Hotfix_LT.Data.NewGameConfigTemplateManager.Instance.GetGameConfigValue("changeNameCost"));
                }
                controller.Close();
            }
            else
            {
                res.CheckAndShowModal();
            }
        }
Esempio n. 6
0
 public override void OnFetchData(EB.Sparx.Response res, int reqInstanceID)
 {
     LoadingSpinner.Hide();
     if (res.sucessful)
     {
         string key       = mTaskType == eTaskType.Normal?"user_prize_data.taskliveness_reward.":"user_prize_data.taskliveness_week_reward.";
         string cachePath = key + m_CurrReceiveChest.StageData.Id;
         DataLookupsCache.Instance.CacheData(cachePath, true);
         //上传友盟获得钻石,任务
         int hcCount = 0;
         List <LTShowItemData> mlist = m_CurrReceiveChest.StageData.Awards;
         for (int i = 0; i < mlist.Count; i++)
         {
             if (mlist[i].id == "hc")
             {
                 hcCount += mlist[i].count;
             }
         }
         FusionTelemetry.PostBonus(hcCount, Umeng.GA.BonusSource.Source2);
         GlobalMenuManager.Instance.Open("LTShowRewardView", m_CurrReceiveChest.StageData.Awards);
     }
     else
     {
         res.CheckAndShowModal();
     }
 }
Esempio n. 7
0
        private void ShowAward(Hashtable data)
        {
            if (data == null)
            {
                return;
            }
            if (data.ContainsKey("inventory"))
            {
                var allInventoryData = data["inventory"] as Hashtable;
                foreach (ICollection curInventory in allInventoryData.Values)
                {
                    var inventoryId = EB.Dot.String("inventory_id", curInventory, string.Empty);

                    var inventoryCurNumValue = EB.Dot.Integer("num", curInventory, 0);

                    var inventoryFormerNum = 0;
                    DataLookupsCache.Instance.SearchIntByID("inventory." + inventoryId + ".num", out inventoryFormerNum);
                    if (inventoryCurNumValue > inventoryFormerNum)
                    {
                        var itemData = new LTShowItemData(EB.Dot.String("economy_id", curInventory, string.Empty), inventoryCurNumValue - inventoryFormerNum, LTShowItemType.TYPE_GAMINVENTORY);
                        //上传友盟获得钻石,道具
                        if (itemData.id == "hc")
                        {
                            FusionTelemetry.PostBonus(itemData.count, Umeng.GA.BonusSource.Source8);
                        }
                        GameUtils.ShowAwardMsg(itemData);
                    }
                }
            }
            if (data.ContainsKey("heroStats"))
            {
                var heroStatsData = data["heroStats"] as Hashtable;
                foreach (ICollection curHeroStat in heroStatsData.Values)
                {
                    var shardId = EB.Dot.String("id", curHeroStat, string.Empty);

                    var curNumValue = EB.Dot.Integer("shard", curHeroStat, 0);

                    var formerNum    = 0;
                    var characterId  = EB.Dot.String("character_id", curHeroStat, string.Empty);
                    var templateId   = EB.Dot.String("template_id", curHeroStat, string.Empty);
                    var convertShard = EB.Dot.Bool("convertShard", curHeroStat, false);
                    if (!convertShard)
                    {
                        var itemData = new LTShowItemData(templateId, 1, "hero");
                        LTInventoryAllController.SetShowAwardsQueue(itemData);
                    }
                    DataLookupsCache.Instance.SearchIntByID("heroStats." + shardId + ".shard", out formerNum);
                    if (curNumValue > formerNum)
                    {
                        var itemData = new LTShowItemData(characterId, curNumValue - formerNum, LTShowItemType.TYPE_HEROSHARD);
                        GameUtils.ShowAwardMsg(itemData);
                    }
                }
                Messenger.Raise(Hotfix_LT.EventName.InventoryEvent);
            }
            dataLookup.ShowAward();
        }
Esempio n. 8
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();
                }
            });
        }
Esempio n. 9
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);
                }
            }
        }
Esempio n. 10
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);
        }
Esempio n. 11
0
 private void JudgeBattle(bool isWon, string level)
 {
     if (isWon)
     {
         FusionTelemetry.PostFinishCombat(level);
     }
     else
     {
         FusionTelemetry.PostFailCombat(level);
     }
 }
Esempio n. 12
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);
                        }
                    }
                });
            }
        }
Esempio n. 13
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;
                }
            });
        }
Esempio n. 14
0
        public void OnCombatTransition(object payload)
        {
            long combatid = 0;

            combatid = EB.Dot.Long("combat.combatId", payload, combatid);

            FusionTelemetry.RecordCombat(combatid);//友盟,战斗开始统计。

            //CombatInfoData.GetInstance().LogJoinCombat(combatid);
            if (SceneLogic.SceneState != SceneLogic.eSceneState.SceneLoop && SceneLogic.SceneState != SceneLogic.eSceneState.RequestingCombatTransition)
            {
                m_combatQueue.Add(new CombatCacheEntry(payload, combatid));
            }
            else
            {
                DoCombatTransition(combatid, payload);
            }
        }
Esempio n. 15
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();
     }
 }
Esempio n. 16
0
        /// <summary>
        /// 进入挑战副本按钮点击
        /// </summary>
        public void OnEnterBtnClick()
        {
            int num = 0;

            DataLookupsCache.Instance.SearchIntByID("res.chall-camp-point.v", out num);
            if (num <= 0)
            {
                MessageTemplateManager.ShowMessage(eMessageUIType.FloatingText, EB.Localizer.GetString("ID_codefont_in_LTChallengeInstancePortalCtrl_1451"));
                return;
            }

            System.Action callback = delegate {
                LTChallengeInstanceHudController.EnterInstance(CurSelectLevel, false);
                LTInstanceMapModel.Instance.IsInstanceShowTheme = true;
                //上报友盟,开始挑战关卡
                FusionTelemetry.PostStartCombat(eBattleType.ChallengeCampaign.ToString() + CurSelectLevel);
            };
            Hotfix_LT.Messenger.Raise(EventName.PlayCloudFXCallback, callback);
        }
Esempio n. 17
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);
                    }
                }
            });
        }
Esempio n. 18
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);
            }
        }
Esempio n. 19
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);
     }
 }
Esempio n. 20
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);
            });
        }
Esempio n. 21
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;
             }
         }
     }
 }
Esempio n. 22
0
        private void RecordBattle(eCombatOutcome outcome)//上报友盟,是否通关
        {
            bool   tmpIsWon = outcome == eCombatOutcome.Win ? true : false;
            string tmpLevel = string.Empty;

            if (_battleType == eBattleType.MainCampaignBattle)
            {
                tmpLevel = LTMainInstanceCampaignCtrl.CampaignId.ToString();
                if (!string.IsNullOrEmpty(tmpLevel))
                {
                    JudgeBattle(tmpIsWon, "Main" + tmpLevel);
                    if (tmpIsWon)
                    {
                        LTChargeManager.Instance.CheckLimitedTimeGiftTrigger(Hotfix_LT.Data.LTGTriggerType.Main, tmpLevel);
                    }
                }
            }
            else if (_battleType == eBattleType.InfiniteChallenge)
            {
                DataLookupsCache.Instance.SearchDataByID <string>("infiniteChallenge.info.currentlayer", out tmpLevel);
                if (!string.IsNullOrEmpty(tmpLevel))
                {
                    JudgeBattle(tmpIsWon, _battleType.ToString() + tmpLevel);
                    if (tmpIsWon)
                    {
                        LTChargeManager.Instance.CheckLimitedTimeGiftTrigger(Hotfix_LT.Data.LTGTriggerType.UltimateTrial, tmpLevel);
                    }
                }
                Data.NewGameConfigTemplateManager.Instance.GetEnterVigor(eBattleType.InfiniteChallenge, out int dayDisCountTime, out int NewVigor, out int oldVigor);
                int curDisCountTime = dayDisCountTime - LTUltimateTrialDataManager.Instance.GetCurrencyTimes();
                if (outcome == eCombatOutcome.Win && curDisCountTime >= 0)
                {
                    LTDailyDataManager.Instance.SetDailyDataRefreshState();
                }
            }
            else if (_battleType == eBattleType.TreasuryBattle)
            {
                ArrayList rewardData;
                DataLookupsCache.Instance.SearchDataByID <ArrayList>("combat.rewards", out rewardData);
                Hashtable rewardDataTable = Johny.HashtablePool.Claim();
                if (rewardData != null)
                {
                    rewardDataTable = rewardData[0] as Hashtable;
                }
                tmpLevel = EB.Dot.String("gold.currentDifficulty", rewardDataTable, null);

                if (!string.IsNullOrEmpty(tmpLevel))
                {
                    JudgeBattle(tmpIsWon, _battleType.ToString() + tmpLevel);
                }
            }
            else if (_battleType == eBattleType.ExpSpringBattle)
            {
                ArrayList rewardData;
                DataLookupsCache.Instance.SearchDataByID <ArrayList>("combat.rewards", out rewardData);
                Hashtable rewardDataTable = Johny.HashtablePool.Claim();
                if (rewardData != null)
                {
                    rewardDataTable = rewardData[0] as Hashtable;
                }
                tmpLevel = EB.Dot.String("currentDifficulty", rewardDataTable, null);
                if (!string.IsNullOrEmpty(tmpLevel))
                {
                    JudgeBattle(tmpIsWon, _battleType.ToString() + tmpLevel);
                }
            }
            else if (_battleType == eBattleType.ChallengeCampaign)
            {
                tmpLevel = LTInstanceMapModel.Instance.CurLevelNum.ToString();
            }
            int chapterId = 0;

            int.TryParse(tmpLevel, out chapterId);

            string     teamName     = FormationUtil.GetCurrentTeamName(_battleType);
            string     teamDataPath = SmallPartnerPacketRule.USER_TEAM + "." + teamName + ".team_info";
            List <int> heroInfos    = new List <int>();
            ArrayList  teamDatas;

            DataLookupsCache.Instance.SearchDataByID(teamDataPath, out teamDatas);
            if (teamDatas != null)
            {
                for (var i = 0; i < teamDatas.Count; i++)
                {
                    var    td     = teamDatas[i];
                    string heroid = EB.Dot.String("hero_id", td, "");
                    if (!string.IsNullOrEmpty(heroid))
                    {
                        LTPartnerData data = LTPartnerDataManager.Instance.GetPartnerByHeroId(int.Parse(heroid));
                        if (data != null)
                        {
                            // IDictionary<string, int> hero = new Dictionary<string, int>();
                            // hero.Add(data.HeroInfo.name, data.Level);
                            heroInfos.Add(data.InfoId);
                        }
                    }
                }
            }
            FusionTelemetry.PostCombat(_battleType.ToString(), chapterId, tmpIsWon ? 1 : 2, heroInfos, isCombatOut ? 2 : 1);
        }
Esempio n. 23
0
        public void OnBuy(EB.Sparx.Response res)
        {
            LoadingSpinner.Hide();
            if (res.sucessful)
            {
                //界面刷新由datalookup
                if (m_buytarget != null)
                {
                    if (m_buytarget.cost_id == "hc")
                    {
                        FusionTelemetry.PostBuy(((int)FusionTelemetry.UseHC.hc_store).ToString(), 1, m_buytarget.cost);
                    }
                    //上传友盟,商店物品购买
                    string id = string.Format("shop{0}", m_buytarget.sid);
                    FusionTelemetry.PostEvent(id);

                    string    colorname = LTItemInfoTool.GetInfo(m_buytarget.id, m_buytarget.type, true).name;
                    Hashtable data      = Johny.HashtablePool.Claim();
                    data.Add("0", m_buytarget.num);
                    data.Add("1", colorname);
                    MessageTemplateManager.ShowMessage(901097, data, null);
                    if (LTPartnerEquipDataManager.Instance.isEquipUpItem(m_buytarget.id))
                    {
                        Hotfix_LT.Messenger.Raise(Hotfix_LT.EventName.OnPartnerEquipChange);                                                                 //装备锻造液数量可能发生变化需要通知发送下
                    }
                }
                GlobalMenuManager.Instance.CloseMenu("LTStoreBuyUI");
            }
            else if (res.fatal)
            {
                SparxHub.Instance.FatalError(res.localizedError);
            }
            else
            {
                if ("ID_STORE_DATA_OLD".Equals(res.error.ToString()))
                {
                    MessageTemplateManager.ShowMessage(902063, null, delegate(int result)
                    {
                        if (result == 0)
                        {
                            RequestSoreData();
                        }
                    });
                }
                else
                {
                    MessageTemplateManager.ShowMessage(901018, null, delegate(int result)
                    {
                        if (result == 0)
                        {
                            if (m_buytarget != null)
                            {
                                m_BuyRequest.parameters[0].parameter = m_buytarget.store_type;
                                m_BuyRequest.parameters[1].parameter = m_buytarget.buy_id.ToString();
                                m_BuyRequest.parameters[2].parameter = m_buytarget.cost.ToString();
                                m_BuyRequest.SendRequest();
                                LoadingSpinner.Show();
                            }
                        }
                    });
                }
            }
        }