Esempio n. 1
0
 private void OnGetHero(LTInstanceEvent evt)
 {
     Instance.LTInstanceFloorTemp tmp = MapCtrl.GetNodeObjByPos(new Vector2(evt.x, evt.y)) as Instance.LTInstanceFloorTemp;
     if (tmp != null)
     {
         tmp.HideNotice();
     }
 }
Esempio n. 2
0
 private void OnGuide(LTInstanceEvent evt)
 {
     Instance.LTInstanceFloorTemp tmp = MapCtrl.GetNodeObjByPos(new Vector2(evt.x, evt.y)) as Instance.LTInstanceFloorTemp;
     if (tmp != null)
     {
         int roleId = EB.Dot.Integer("id", evt.Param, 0);
         tmp.ShowNotice(roleId);
     }
 }
Esempio n. 3
0
        private void HideFloorRole(Vector2 vec2)
        {
            LTInstanceNode node = LTInstanceMapModel.Instance.GetNodeByPos((int)vec2.x, (int)vec2.y);

            if (node != null)
            {
                node.RoleData = new LTInstanceNodeRoleData();
                Instance.LTInstanceFloorTemp floorTmp = MapCtrl.GetNodeObjByPos(vec2) as Instance.LTInstanceFloorTemp;
                if (floorTmp != null)
                {
                    floorTmp.ClearRoleItem();
                }
            }
        }
Esempio n. 4
0
        private void RealEndHandler(LTInstanceNode targetNode, bool isPath = true)
        {
            if (targetNode == null)
            {
                return;
            }

            Instance.LTInstanceFloorTemp floorTmp = GetNodeObjByPos(new Vector2(targetNode.x, targetNode.y)) as Instance.LTInstanceFloorTemp;
            if (floorTmp != null && floorTmp.OnCheckGuideNotice())
            {
                return;
            }

            if (OnRealEnd != null)
            {
                System.Action <bool> tmp = OnRealEnd;
                OnRealEnd = null;
                tmp(isPath);
                return;
            }

            if (mRealEndNode == null)
            {
                return;
            }
            if (moveActionList == null || moveActionList.Count > 0)
            {
                return;
            }
            if (targetNode.IsSameNodePos(mRealEndNode))
            {
                return;
            }
            if (mRealEndNode.RoleData != null && mRealEndNode.RoleData.CampaignData != null && !string.IsNullOrEmpty(mRealEndNode.RoleData.CampaignData.Password))
            {
                return;
            }

            RequestChallengeMoveChar(mRealEndNode, MoveParam.Direct);
        }
Esempio n. 5
0
        public override void OnFloorClickFunc(LTInstanceNode NodeData, Transform Target)
        {
            if (NodeData == null)
            {
                return;
            }
            MapCtrl.OnRealEnd = null;
            //设置OnRealEnd到达格子后需要做的事情
            if (!string.IsNullOrEmpty(NodeData.Layout))//怪物
            {
                bool isBoss = false;
                if (NodeData.RoleData.Order == "Boss" || NodeData.RoleData.Id == -1)
                {
                    isBoss = true;
                }

                MapCtrl.OnRealEnd = new System.Action <bool>(delegate(bool isPath)
                {
                    int dir = (int)LTInstanceMapModel.Instance.CurNode.GetDirByPos(NodeData.x, NodeData.y);
                    if (dir <= 0 && !isBoss && !isPath)
                    {
                        return;
                    }

                    if (IsChallengeQuick)//快速战斗
                    {
                        Instance.LTInstanceFloorTemp tmp = MapCtrl.GetNodeObjByPos(new Vector2(NodeData.x, NodeData.y)) as Instance.LTInstanceFloorTemp;
                        if (tmp != null)
                        {
                            FusionAudio.PostEvent("UI/New/Fight", true);
                            InputBlockerManager.Instance.Block(InputBlockReason.UI_SERVER_REQUEST, 2f);
                            tmp.ShowQuickBattleFX();
                            MapCtrl.OnFloorClick(NodeData, Target);
                        }
                        return;
                    }

                    if (!IsChallengeQuick && IsChallengeSkip)//跳过布阵
                    {
                        FusionAudio.PostEvent("UI/New/Fight", true);
                        InputBlockerManager.Instance.Block(InputBlockReason.UI_SERVER_REQUEST, 2f);
                        OnGetToMonster(NodeData, Target, isBoss);
                        return;
                    }

                    if (!IsChallengeQuick && !IsChallengeSkip)//正常战斗
                    {
                        BattleReadyHudController.Open(eBattleType.ChallengeCampaign, delegate()
                        {
                            OnGetToMonster(NodeData, Target, isBoss);
                        }, NodeData.RoleData.CampaignData.Layout);
                        return;
                    }
                });
                MapCtrl.OnFloorClick(NodeData, Target, isBoss);
                return;
            }
            else if (NodeData.RoleData.Img == "Copy_Icon_Gonggaopai")//留言板
            {
                MapCtrl.OnRealEnd = new System.Action <bool>(delegate(bool isPath)
                {
                    GlobalMenuManager.Instance.Open("LTInstanceMessageView", NodeData.RoleData.Id);
                });
                MapCtrl.OnFloorClick(NodeData, Target);
                return;
            }

            MapCtrl.OnFloorClick(NodeData, Target);
        }
Esempio n. 6
0
        public override void OnFloorClickFunc(LTInstanceNode NodeData, Transform Target)
        {
            if (NodeData == null) return;
            MapCtrl.OnRealEnd = null;
            //设置OnRealEnd到达格子后需要做的事情
            if (NodeData.RoleData.CampaignData.CampaignId > 0)//主线关卡
            {
                LTGuideTips.MainInstanceCampaignId = NodeData.RoleData.CampaignData.CampaignId;

                MapCtrl.OnRealEnd = new System.Action<bool>(delegate (bool isPath)
                {
                    MapCtrl.InstanceWaitUpdataMap(delegate
                    {
                        if (GuideNodeManager.IsGuide && !theFirstCampaignPass)//新手引导特殊处理步骤
                        {
                            //是否已通关了第一关卡    
                            FusionAudio.PostEvent("UI/New/Fight", true);
                            InputBlockerManager.Instance.Block(InputBlockReason.UI_SERVER_REQUEST, 2f);
                            MapCtrl.OnFloorClick(NodeData, Target);
                            LTInstanceMapModel.Instance.RequestMainFightCampaign(NodeData.RoleData.CampaignData.CampaignId);
                            return;
                        }

                        if (LTInstanceMapModel.Instance.WaitForDialoging ||DialoguePlayUtil.Instance.State) return;//剧情播放情况,不要再执行下面

                        if (IsMainQuick)
                        {
                            bool isCanQuick = NodeData.RoleData.CampaignData.Star == 0;
                            bool isNotBoss = !Data.SceneTemplateManager.Instance.IsCampaignBoss(NodeData.RoleData.CampaignData.CampaignId.ToString());
                            if (isCanQuick && isNotBoss)
                            {
                                Instance.LTInstanceFloorTemp tmp = MapCtrl.GetNodeObjByPos(new Vector2(NodeData.x, NodeData.y)) as Instance.LTInstanceFloorTemp;
                                if (tmp != null)
                                {
                                    FusionAudio.PostEvent("UI/New/Fight", true);
                                    InputBlockerManager.Instance.Block(InputBlockReason.UI_SERVER_REQUEST, 2f);
                                    tmp.ShowQuickBattleFX();
                                    MapCtrl.OnFloorClick(NodeData, Target);
                                    LTInstanceMapModel.Instance.RequestMainFightCampaign(NodeData.RoleData.CampaignData.CampaignId, 0, true);
                                }
                                return;
                            }
                        }

                        Hashtable data = Johny.HashtablePool.Claim();
                        data.Add("id", NodeData.RoleData.CampaignData.CampaignId);
                        data.Add("callback", new System.Action(delegate
                        {
                            MapCtrl.OnFloorClick(NodeData, Target);
                        }));
                        GlobalMenuManager.Instance.Open("LTMainInstanceCampaignView", data);
                    });
                });
                MapCtrl.OnFloorClick(NodeData, Target);
                return;
            }
            else if (!string.IsNullOrEmpty(NodeData.RoleData.CampaignData.Password))//箱子需要密码才能打开,此处密码由前端检查
            {
                MapCtrl.OnRealEnd = new System.Action<bool>(delegate (bool isPath)
                {
                    GlobalMenuManager.Instance.Open("LTMainInstancePasswordBoxView", NodeData);
                });
                MapCtrl.OnFloorClick(NodeData, Target);
                return;
            }
            else if (!string.IsNullOrEmpty(NodeData.RoleData.Model) && (NodeData.RoleData.Order == "Hero"))//奖励英雄
            {
                MapCtrl.OnRealEnd = new System.Action<bool>(delegate (bool isPath)
                {
                    //SetBlurTexState(false);
                    Hashtable data = Johny.HashtablePool.Claim();
                    data.Add("NodeData", NodeData);
                    data.Add("IsHire", false);
                    data.Add("ChapterBg", mChapterTpl.ChapterBg);
                    data.Add("Callback", new System.Action<bool>(delegate (bool isSucc)
                    {
                        //SetBlurTexState(true);
                        if (isSucc)
                        {
                            MapCtrl.OnFloorClick(NodeData, Target);
                            var charTpl = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfoByModel(NodeData.RoleData.Model);
                            if (charTpl != null)
                            {
                                LTShowItemData itemData = new LTShowItemData((charTpl.id + 1).ToString(), 1, "hero", false);
                                GlobalMenuManager.Instance.Open("LTShowGetPartnerUI", itemData);
                            }
                        }
                    }));
                    GlobalMenuManager.Instance.Open("LTMainInstanceGetHeroView", data);
                });
                MapCtrl.OnFloorClick(NodeData, Target);
                return;
            }
            else if (!string.IsNullOrEmpty(NodeData.RoleData.Model) && (NodeData.RoleData.Order == "Hire"))//雇佣兵
            {
                MapCtrl.OnRealEnd = new System.Action<bool>(delegate (bool isPath)
                {
                    Hashtable data = Johny.HashtablePool.Claim();
                    data.Add("NodeData", NodeData);
                    data.Add("IsHire", true);
                    data.Add("ChapterBg", mChapterTpl.ChapterBg);
                    data.Add("Callback", new System.Action<bool>(delegate (bool isSucc)
                    {
                        if (isSucc)
                        {
                            MapCtrl.OnFloorClick(NodeData, Target);
                            var charTpl = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroInfoByModel(NodeData.RoleData.Model);
                            if (charTpl != null)
                            {
                                MessageTemplateManager.ShowMessage(eMessageUIType.FloatingText, string.Format(EB.Localizer.GetString("ID_CHALLENGE_INSTANCE_HIRE_0"), charTpl.name));
                            }

                            Instance.LTInstanceFloorTemp tmp = MapCtrl.GetNodeObjByPos(new Vector2(NodeData.x, NodeData.y)) as Instance.LTInstanceFloorTemp;
                            if (tmp != null)
                            {
                                tmp.HideNotice();
                            }
                        }
                    }));
                    GlobalMenuManager.Instance.Open("LTMainInstanceGetHeroView", data);
                });
                MapCtrl.OnFloorClick(NodeData, Target);
                return;
            }
            else if (NodeData.RoleData.Img == "Copy_Icon_Gonggaopai")
            {
                MapCtrl.OnRealEnd = new System.Action<bool>(delegate (bool isPath)
                {
                    GlobalMenuManager.Instance.Open("LTInstanceMessageView", NodeData.RoleData.Id);
                });
                MapCtrl.OnFloorClick(NodeData, Target);
                return;
            }

            MapCtrl.OnFloorClick(NodeData, Target);
        }