Example #1
0
 bool SpecialDialog(Obj_NPC obj)
 {
     if (obj && (obj.BaseAttr.RoleBaseID == GlobeVar.MARRY_NPCID ||
                 obj.BaseAttr.RoleBaseID == GlobeVar.DIVORCE_NPCID ||
                 obj.BaseAttr.RoleBaseID == GlobeVar.PARADE_NPCID)
         )
     {
         MarryRootLogic.ShowMarryDialogUI(obj.BaseAttr.RoleBaseID);
         return(true);
     }
     //如果开关关闭,奖励NPC就按照普通NPC一样对话
     if (obj && obj.BaseAttr.RoleBaseID == GlobeVar.AWARD_NPCID)
     {
         if (!GameManager.gameManager.PlayerDataPool.IsServerFlagOpen(SERVER_FLAGS_ENUM.FLAG_CYFANS))
         {
             return(false);
         }
     }
     //显示带选项的对话框(可选)
     if (obj.DefaultDialogID != -1)
     {
         Tab_NpcDialog _npcDialogInfo = TableManager.GetNpcDialogByID(obj.DefaultDialogID, 0);
         if (_npcDialogInfo != null && _npcDialogInfo.OptionDialogId != -1)
         {
             OptionDialogLogic.ShowOptionDialogUI(obj.DefaultDialogID);
             return(true);
         }
         else
         {
             //LogModule.ErrorLog("Can not find npcDialogInfo: {0} or OptionDialogId == -1", obj.DefaultDialogID);
         }
     }
     return(false);
 }
        public static void CreateModelNpcObj(int nCharModelID, Obj_Init_Data initData, DelAsycModelOver delAsycStroyModel)
        {
            if (initData == null)
            {
                LogModule.ErrorLog("CreateModelNpcObj called but initData == null is null!");
            }
            //NPC创建的时候统一用RoleBase中的ID,而不用Obj_Init_Data结构中的CharModelID
            Tab_CharModel charModel = TableManager.GetCharModelByID(nCharModelID, 0);

            if (null == charModel)
            {
                return;
            }

            GameObject npc = ResourceManager.InstantiateResource("Prefab/Model/NPCRoot", initData.m_ServerID.ToString()) as GameObject;

            //GameObject npc = CreateGameObjectByResource(initData);
            if (null != npc)
            {
                //加载逻辑体,同时异步加载渲染体
                Obj_NPC objNPC = (Obj_NPC)npc.GetComponent <Obj_NPC>();
                if (!objNPC)
                {
                    objNPC = (Obj_NPC)npc.AddComponent <Obj_NPC>();
                }

                if (objNPC && objNPC.Init(initData))
                {
                    objNPC.CanLogic = true;
                    Singleton <ObjManager> .Instance.AddPoolObj(objNPC.ServerID.ToString(), objNPC);
                }
                LoadModelToRoot(nCharModelID, EResourceType.CharacterModel, LoadModelComplete, npc, charModel, null);
                Singleton <ObjManager> .Instance.CachedNpc(npc.name, npc, objNPC.IsNeedBecameVisible());
            }
        }
Example #3
0
    void init()
    {
        m_MissionBoadTime = 0;
        this.gameObject.GetComponent <UISprite>().spriteName = "";

        m_curBillBoard = this.gameObject.transform.parent.gameObject.GetComponent <BillBoard>();
        if (m_curBillBoard && m_curBillBoard.BindObj != null)
        {
            m_MissionNpc = m_curBillBoard.BindObj.GetComponent <Obj_NPC>();
        }
    }
    void OpenNianShouCopyScene()
    {
        Obj_NPC TargetNpc = Singleton <DialogCore> .GetInstance().CareNPC;

        if (TargetNpc != null)
        {
            CG_OPEN_NIANSHOUCOPYSCENE packet = (CG_OPEN_NIANSHOUCOPYSCENE)PacketDistributed.CreatePacket(MessageID.PACKET_CG_OPEN_NIANSHOUCOPYSCENE);
            packet.SetVillaintype(1);
            packet.SetObjid(TargetNpc.ServerID);
            packet.SendPacket();
        }
    }
Example #5
0
 bool IsGuildBossNpc(Obj_Character targetObj)
 {
     if (targetObj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC)
     {
         Obj_NPC rNpc = targetObj as Obj_NPC;
         if (rNpc != null)
         {
             return(rNpc.IsGuildActivityBoss);
         }
     }
     return(false);
 }
Example #6
0
        /// <summary>
        /// 获取最近的NPC并接近和他对话
        /// </summary>
        private void getNPC()
        {
            Obj_NPC        TargetNpc   = null;
            List <Obj_NPC> npcList     = new List <Obj_NPC>();
            float          minDistance = float.PositiveInfinity;
            Vector3        mainPlayerPos;

            mainPlayerPos = Singleton <ObjManager> .GetInstance().MainPlayer.Position;

            foreach (string strName in Singleton <ObjManager> .GetInstance().ObjPools.Keys)
            {//遍历场景中的npc
                Obj_Character objChar = Singleton <ObjManager> .GetInstance().ObjPools[strName] as Obj_Character;

                if (null == objChar)
                {
                    continue;
                }
                TargetNpc = objChar as Obj_NPC;
                if (TargetNpc == null)
                {
                    continue;
                }
                if (Reputation.IsFriend(TargetNpc))
                {//如果是友好NPC则添加进npc列表
                    npcList.Add(TargetNpc);
                }
            }
            for (int i = 0; i < npcList.Count; i++)
            {//比较距离,得到最近的那个npc
                float curDistance = Vector3.Distance(mainPlayerPos, npcList[i].Position);
                if (curDistance < minDistance)
                {
                    minDistance = curDistance;
                    TargetNpc   = npcList[i];
                }
            }

            if (TargetNpc == null)
            {
                return;
            }

            if (null != Singleton <ObjManager> .GetInstance().MainPlayer)
            {
                Singleton <ObjManager> .GetInstance().MainPlayer.SelectTarget = TargetNpc;

                Singleton <ObjManager> .GetInstance().MainPlayer.OnSelectTarget(TargetNpc.gameObject);
            }
        }
Example #7
0
    // 寻路找怪处理
    void FindEnamyTick()
    {
        if (m_bNotEnamyNpcFlag != 0)
        {
            return;
        }
        //如果有目标名字则寻找该目标,进行交互
        if (m_Path.AutoSearchTargetName != "")
        {
            Obj_Character obj = Singleton <ObjManager> .GetInstance().FindObjCharacterInSceneByName(m_Path.AutoSearchTargetName);

            if (obj && obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC)
            {
                Obj_NPC objNpc = obj as Obj_NPC;
                //根据目标NPC的势力确认是对话还是攻击
                if (Reputation.IsEnemy(objNpc) || Reputation.IsNeutral(objNpc))
                {
                    Singleton <ObjManager> .GetInstance().MainPlayer.StopMove();

                    m_Path.AutoSearchPosCache.Clear();
                    m_Path.ResetPath();
                    IsAutoSearching = false;
                    m_EndPointCache.Clean();

                    //如果是地方NPC,则开始攻击
                    Singleton <ObjManager> .GetInstance().MainPlayer.OnSelectTarget(objNpc.gameObject);

                    Singleton <ObjManager> .GetInstance().MainPlayer.OnEnterCombat(objNpc.GetComponent <Obj_Character>());

                    m_bNotEnamyNpcFlag = 1;

                    // 杀怪任务寻路结束,如果没在自动战斗状态,则进入自动战斗
                    Obj_MainPlayer mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

                    if (null != mainPlayer && !mainPlayer.GetAutoCombatState() && Singleton <ObjManager> .Instance.MainPlayer.IsOpenCabalAuto)
                    {
                        mainPlayer.EnterAutoCombat();
                        GameManager.gameManager.MissionManager.MissionAutoCombat = true;
                    }
                }
                else
                {
                    m_bNotEnamyNpcFlag = 2;
                    return;
                }
            }
        }
    }
    void OnRecoverOk()
    {
        Obj_NPC TargetNpc = Singleton <DialogCore> .GetInstance().CareNPC;

        if (TargetNpc == null)
        {
            return;
        }

        if (Singleton <ObjManager> .Instance.MainPlayer)
        {
            CG_ASK_RECOVER Pack = (CG_ASK_RECOVER)PacketDistributed.CreatePacket(MessageID.PACKET_CG_ASK_RECOVER);
            Pack.ObjID = TargetNpc.ServerID;
            Pack.SendPacket();
        }
    }
Example #9
0
    //////////////////////////////////////////////////////////////////////////
    //对话相关接口
    //////////////////////////////////////////////////////////////////////////
    // 弹出最近对话框 --寻路完响应
    public void AutoDialog(int nMissionID)
    {
        Tab_MissionBase MissionBase = TableManager.GetMissionBaseByID(nMissionID, 0);

        if (MissionBase == null)
        {
            LogModule.ErrorLog("Can not find missionBase {0}", nMissionID);
            return;
        }

        Obj_NPC TargetNpc = null;

        foreach (string strName in Singleton <ObjManager> .GetInstance().ObjPools.Keys)
        {
            Obj_Character objChar = Singleton <ObjManager> .GetInstance().ObjPools[strName] as Obj_Character;

            if (null == objChar)
            {
                return;
            }

            if (objChar.BaseAttr.RoleBaseID == MissionBase.AcceptDataID ||
                objChar.BaseAttr.RoleBaseID == MissionBase.CompleteDataID)
            {
                TargetNpc = objChar as Obj_NPC;
                break;
            }
        }
        if (TargetNpc == null)
        {
            LogModule.ErrorLog("Can not find TargetNPC of ID: {0} or {1}", MissionBase.AcceptDataID, MissionBase.CompleteDataID);
            return;
        }

        if (null != Singleton <ObjManager> .GetInstance().MainPlayer)
        {
            Singleton <ObjManager> .GetInstance().MainPlayer.OnSelectTarget(TargetNpc.gameObject);
        }
        if (!TargetNpc.IsHaveMission(nMissionID))
        {
            LogModule.ErrorLog("Do not have mission {0}", nMissionID);
            return;
        }

        Show(TargetNpc);
    }
Example #10
0
    void SwitchHpInfo(Obj_Character obj)
    {
        if (obj == null)
        {
            return;
        }
        bool bNormal = true;

        if (obj.ObjType == GameDefine_Globe.OBJ_TYPE.OBJ_NPC)
        {
            Obj_NPC npcObj = obj as Obj_NPC;
            if (null != npcObj)
            {
                if (npcObj.NpcType == GameDefine_Globe.NPC_TYPE.BOSS)
                {
                    bNormal = false;
                }
            }
        }
        if (bNormal)
        {
            m_NormalHPInfo.SetActive(true);
            m_BossHPInfo.SetActive(false);

            m_HpInfo.m_TargetHPSprite      = m_NormalHPSprite;
            m_HpInfo.m_TargetHPBakSprite   = m_NormalHPBakSprite;
            m_HpInfo.m_TargetHPText        = m_NormalHPText;
            m_HpInfo.m_TargetHpCount       = m_NormalHpCount;
            m_HpInfo.m_TargetHPotherSprite = null;

            m_HpInfo.m_TargetHpCount.gameObject.SetActive(true);
        }
        else
        {
            m_NormalHPInfo.SetActive(false);
            m_BossHPInfo.SetActive(true);

            m_HpInfo.m_TargetHPSprite      = m_BossHPSprite;
            m_HpInfo.m_TargetHPBakSprite   = m_BossHPBakSprite;
            m_HpInfo.m_TargetHPText        = m_BossHPText;
            m_HpInfo.m_TargetHpCount       = m_BossHpCount;
            m_HpInfo.m_TargetHPotherSprite = m_BossHPOtherSprite;

            m_HpInfo.m_TargetHpCount.gameObject.SetActive(false);
        }
    }
Example #11
0
    void ShowMissionUI(string missionContent, bool defaultDialog)
    {
        m_bIsDefaultDialog = defaultDialog;
        if (m_bIsDefaultDialog)
        {
            UIManager.HideAllUIExceptStory();
        }
        //LogModule.ErrorLog("________________________________ " + missionContent);
        m_StoryDialogBottomLabel.text = missionContent;
        Obj_NPC TargetNpc = Singleton <DialogCore> .GetInstance().CareNPC;

        if (TargetNpc == null)
        {
            return;
        }

        if (TargetNpc.ModelID < 0)
        {
            return;
        }

        Tab_RoleBaseAttr roleBase = TableManager.GetRoleBaseAttrByID(TargetNpc.BaseAttr.RoleBaseID, 0);

        if (roleBase == null)
        {
            return;
        }

        Tab_CharModel charModel = TableManager.GetCharModelByID(TargetNpc.ModelID, 0);

        if (null == charModel)
        {
            return;
        }

        if (m_SpeakerName && m_StoryDialogBottomRole)
        {
            m_SpeakerName.text = roleBase.Name;
            m_StoryDialogBottomRole.mainTexture = ResourceManager.LoadResource("Texture/MissionRole/" + charModel.NPCSpriteName, typeof(Texture)) as Texture;
        }
#if BOBJOYSTICK
//        RefreshJoyGUI(MissionUIType.TYPE_NONE);
#endif
    }
Example #12
0
    void UpdateNPCInfo()
    {
        Obj_NPC TargetNpc = Singleton <DialogCore> .GetInstance().CareNPC;

        if (TargetNpc != null)
        {
            if (TargetNpc.ModelID >= 0)
            {
                Tab_RoleBaseAttr roleBase = TableManager.GetRoleBaseAttrByID(TargetNpc.BaseAttr.RoleBaseID, 0);
                if (roleBase != null)
                {
                    Tab_CharModel charModel = TableManager.GetCharModelByID(TargetNpc.ModelID, 0);
                    if (charModel != null && m_NPCHead && m_NPCName)
                    {
                        m_NPCName.text = roleBase.Name;

                        Texture curTexture = ResourceManager.LoadResource("Texture/MissionRole/" + charModel.NPCSpriteName, typeof(Texture)) as Texture;
                        if (null != curTexture)
                        {
                            m_NPCHead.gameObject.SetActive(true);
                            m_NPCHead.mainTexture = curTexture;
                        }
                        else
                        {
                            m_NPCHead.gameObject.SetActive(false);
                        }
                    }
                }
            }
            if (m_curOptionDialogId != -1)
            {
                Tab_NpcOptionDialog _npcOptionInfo = TableManager.GetNpcOptionDialogByID(m_curOptionDialogId, 0);
                if (_npcOptionInfo != null)
                {
                    m_NPCTalk.text = StrDictionary.GetClientString_WithNameSex(_npcOptionInfo.CenterText);
                }
                //RESET AWARD TEXT FOR TW
                if (m_curOptionDialogId == AWARD_DIALOGID && PlatformHelper.IsChannelTW())
                {
                    m_NPCTalk.text = StrDictionary.GetClientDictionaryString("#{5248}");
                }
            }
        }
    }
Example #13
0
    //自动寻路结束
    void Finish()
    {
        //如果有结束后的回调事件则回调
        if (null != m_Path.FinishCallBackEvent && Games.GlobeDefine.GameDefine_Globe.EVENT_DEFINE.EVENT_INVALID != m_Path.FinishCallBackEvent.EventID)
        {
            Singleton <EventSystem> .GetInstance().PushEvent(m_Path.FinishCallBackEvent);
        }

        //如果有目标名字则寻找该目标,进行交互
        if (m_Path.AutoSearchTargetName != "")
        {
            Obj_Character obj = Singleton <ObjManager> .GetInstance().FindObjCharacterInSceneByName(m_Path.AutoSearchTargetName);

            if (obj && obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC)
            {
                Obj_NPC objNpc = obj as Obj_NPC;
                //根据目标NPC的势力确认是对话还是攻击
                Singleton <ObjManager> .GetInstance().MainPlayer.OnSelectTarget(objNpc.gameObject);

                if (Reputation.IsEnemy(objNpc) || Reputation.IsNeutral(objNpc))
                {
                    //如果是地方NPC,则开始攻击
                    Singleton <ObjManager> .GetInstance().MainPlayer.OnEnterCombat(objNpc.GetComponent <Obj_Character>());
                }
                else
                {
                    //如果是友方NPC,则开始对话
                    Singleton <DialogCore> .GetInstance().Show(objNpc);

                    objNpc.FaceTo(Singleton <ObjManager> .GetInstance().MainPlayer.ObjTransform.position);
                }
            }
        }

        m_EndPointCache.Clean();
        m_Path.ResetPath();
        IsAutoSearching = false;
        if (SceneMapLogic.Instance() != null)
        {
            SceneMapLogic.Instance().StopPlayClickEffect();
        }
    }
Example #14
0
    //开始对话窗口,根绝参数来确定有无关心NPC
    //对外只提供这一个接口,之后确定是显示对白还是显示任务
    public void Show(Obj_NPC objNpc)
    {
        m_CareNPC = objNpc;
        if (m_CareNPC == null)
        {
            return;
        }
        GCGame.Utils.NpcTalk(objNpc.BaseAttr.RoleBaseID);

        if (false == IsInDialogArea())
        {
            return;
        }
        // 弹出已完成任务
        if (true == PopCompletedMission())
        {
            return;
        }

        // 弹出可接任务
        if (true == PopCanAcceptedMission())
        {
            return;
        }

        if (true == SpecialDialog(m_CareNPC))
        {
            return;
        }

        // 公会活动-捉迷藏 特殊对话
        if (true == GuildHideAndSeekDialog())
        {
            return;
        }

        // 与NPC对话
        ShowText(m_CareNPC.DefaultDialogID);
    }
Example #15
0
    void UpdateNPCInfo()
    {
        Obj_NPC TargetNpc = Singleton <DialogCore> .GetInstance().CareNPC;

        if (TargetNpc != null)
        {
            if (TargetNpc.ModelID >= 0)
            {
                Tab_RoleBaseAttr roleBase = TableManager.GetRoleBaseAttrByID(TargetNpc.BaseAttr.RoleBaseID, 0);
                if (roleBase != null)
                {
                    Tab_CharModel charModel = TableManager.GetCharModelByID(TargetNpc.ModelID, 0);
                    if (charModel != null && m_NPCHead && m_NPCName)
                    {
                        m_NPCName.text = roleBase.Name;
                        Texture curTexture = ResourceManager.LoadResource("Texture/MissionRole/" + charModel.NPCSpriteName, typeof(Texture)) as Texture;
                        if (null != curTexture)
                        {
                            m_NPCHead.gameObject.SetActive(true);
                            m_NPCHead.mainTexture = curTexture;
                        }
                        else
                        {
                            m_NPCHead.gameObject.SetActive(false);
                        }
                    }
                }
            }
            Tab_NpcDialog DialogLine = TableManager.GetNpcDialogByID(TargetNpc.DefaultDialogID, 0);
            if (DialogLine != null)
            {
                if (m_NPCTalk)
                {
                    m_NPCTalk.text = StrDictionary.GetClientString_WithNameSex(DialogLine.Dialog);
                }
            }
        }
    }
        public uint Execute(PacketDistributed ipacket)
        {
            GC_DAMAGEBOARD_INFO packet = (GC_DAMAGEBOARD_INFO )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            int           objID    = packet.ObjId;
            Obj_Character _objChar = Singleton <ObjManager> .GetInstance().FindObjCharacterInScene(objID);

            if (_objChar == null)
            {
                return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
            }

            int nType  = packet.Type;
            int nValue = packet.Value;
            //冒伤害板数字
            int   nShowTimes = -1;
            float fShowInter = 0.0f;

            if (packet.HasShowtimes && packet.HasShowinter)
            {
                nShowTimes = packet.Showtimes;
                fShowInter = packet.Showinter / 1000.0f;
            }
            //需要多次冒泡的特殊处理
            if (nShowTimes > 0)
            {
                MultiShowDamageBoard _damageBoardInfo = new MultiShowDamageBoard();
                _damageBoardInfo.CleanUp();
                _damageBoardInfo.ShowTimes  = nShowTimes;
                _damageBoardInfo.ShowInter  = fShowInter;
                _damageBoardInfo.DamageType = (Games.GlobeDefine.GameDefine_Globe.DAMAGEBOARD_TYPE)(nType);
                _damageBoardInfo.ShowValue  = nValue / nShowTimes;
                _objChar.MultiShowDamageInfo.Add(_damageBoardInfo);
                _objChar.UpdateShowMultiShowDamageBoard();
            }
            else //不需要分多次冒泡的
            {
                if (_objChar.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC)
                {
                    _objChar.OnAnimationIsHit();
                    if (_objChar.NpcEdgeGlow != null)
                    {
                        _objChar.NpcEdgeGlow.UpdateRimPow_NPC();

                        Obj_NPC objNPC = _objChar as Obj_NPC;
                        if (objNPC.NpcType == GameDefine_Globe.NPC_TYPE.BOSS)
                        {
                            if (objNPC.NpcEdgeGlow != null)
                            {
                                // objNPC.NpcEdgeGlow.UpdateOutLine();
                                objNPC.NpcEdgeGlow.UpdateRimPower();
                            }
                        }
                    }
                    //打击音效放在这里,暂时声音可能会有多份,并没有间隔
                    if (packet.HasAddanimstate && packet.Addanimstate > 0)
                    {
                        _objChar.PlaySoundAtPos(_objChar.ObjType, packet.Addanimstate, _objChar.Position);
                    }
                }
                _objChar.ShowDamageBoard((Games.GlobeDefine.GameDefine_Globe.DAMAGEBOARD_TYPE)(nType), nValue);
            }
            //连击点的模拟显示
            if (packet.Type == (int)Games.GlobeDefine.GameDefine_Globe.DAMAGEBOARD_TYPE.TARGET_HPDOWN_PLAYER ||
                packet.Type == (int)Games.GlobeDefine.GameDefine_Globe.DAMAGEBOARD_TYPE.PLAYER_ATTACK_CRITICAL)
            {
                Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

                if (_mainPlayer)
                {
                    bool bIsCritical = (packet.Type == (int)Games.GlobeDefine.GameDefine_Globe.DAMAGEBOARD_TYPE.PLAYER_ATTACK_CRITICAL ? true : false);
                    int  incHitPoint = 1;
                    _mainPlayer.ChangeHit(incHitPoint, bIsCritical);
                }
            }
            //伤害带来的附加音效 Demo没有这些职业,先去掉

            /*if (packet.HasAddanimstate)
             * {
             *  if (packet.Addanimstate == (int)Games.GlobeDefine.GameDefine_Globe.OBJ_ANIMSTATE.STATE_HITBYSHAOLIN)
             *  {
             *      _objChar.PlaySoundAtPos(_objChar.ObjType, 4, _objChar.Position);   //attack1_gun
             *  }
             *  else if (packet.Addanimstate == (int)Games.GlobeDefine.GameDefine_Globe.OBJ_ANIMSTATE.STATE_HITBYTIANSHAN)
             *  {
             *      _objChar.PlaySoundAtPos(_objChar.ObjType, 2, _objChar.Position);   //attack1_dao
             *  }
             *  else if (packet.Addanimstate == (int)Games.GlobeDefine.GameDefine_Globe.OBJ_ANIMSTATE.STATE_HITBYDALI)
             *  {
             *      _objChar.PlaySoundAtPos(_objChar.ObjType, 0, _objChar.Position);   //attack_jian
             *  }
             *  else if (packet.Addanimstate == (int)Games.GlobeDefine.GameDefine_Globe.OBJ_ANIMSTATE.STATE_HITBYXIAOYAO)
             *  {
             *      _objChar.PlaySoundAtPos(_objChar.ObjType, 3, _objChar.Position);   //attack1_fu
             *  }
             *  else if (packet.Addanimstate == (int)Games.GlobeDefine.GameDefine_Globe.OBJ_ANIMSTATE.STATE_HITBYGAIBANG)
             *  {
             *      _objChar.PlaySoundAtPos(_objChar.ObjType, 167, _objChar.Position);   //attack2_gun
             *  }
             * }
             */

            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
Example #17
0
    /// <summary>
    /// 切换目标
    /// </summary>
    /// <param name="targetObj">目标obj</param>
    public void ChangeTarget(Obj_Character targetObj)
    {
        if (!m_bFold)
        {
            ShowTargetFrame();
        }
        if (targetObj == null || targetObj.BaseAttr == null)
        {
            LogModule.ErrorLog("ChangeTarget called but targetObj targetObj == null || targetObj.BaseAttr == null");
            return;
        }

        SwitchHpInfo(targetObj);

        m_hasTarget = true;
        bool isSameTarget = false;

        if (null == targetObj)
        {
            return;
        }

        if (m_TargetServerID == targetObj.ServerID)
        {
            isSameTarget = true;
        }
        else
        {
            m_TargetLevelText.text = "Lv 0";
            ClearHpShow();
            m_TargetMPSprite.fillAmount    = 0;
            m_TargetMPBakSprite.fillAmount = 0;
            m_nLastMp = 0;
        }
        m_TargetServerID = targetObj.ServerID;
        if (targetObj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER ||
            targetObj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER ||
            targetObj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_ZOMBIE_PLAYER)
        {
            Obj_OtherPlayer otherPlayer = targetObj as Obj_OtherPlayer;
            if (null != otherPlayer)
            {
                m_TargetGuid = otherPlayer.GUID;
                if (!string.IsNullOrEmpty(otherPlayer.BaseAttr.RoleName))
                {
                    char   firstChar    = otherPlayer.BaseAttr.RoleName[0];
                    string szNameResult = "";
                    if (firstChar == '#' && 0 == StrDictionary.GetServerDictionaryFormatString(otherPlayer.BaseAttr.RoleName, ref szNameResult))
                    {
                        otherPlayer.BaseAttr.RoleName = szNameResult;
                    }
                }
                m_strTargetName = otherPlayer.BaseAttr.RoleName;
            }
        }
        else
        {
            m_TargetGuid    = GlobeVar.INVALID_GUID;
            m_strTargetName = "";
        }
        if (GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FB_CABALINTRO)
        {
            if (targetObj.BaseAttr.RoleBaseID == 1080)
            {
                m_TargetLevelText.text = string.Format("Lv {0}", 100);
            }
            else if (targetObj.BaseAttr.RoleBaseID == 1079)
            {
                m_TargetLevelText.text = string.Format("Lv {0}", 90);
            }
            else
            {
                // 玩家
                m_TargetLevelText.text = string.Format("Lv {0}", 100);
            }
        }
        else
        {
            m_TargetLevelText.text = string.Format("Lv {0}", targetObj.BaseAttr.Level);
        }

        SetTargetName(targetObj);

        bool isWorldBoss = (targetObj.BaseAttr.RoleBaseID == 847);

        if (isWorldBoss == true || IsGuildBossNpc(targetObj) == true)
        {
            //m_TargetHPText.text = "???" + "/" + "???";
            float perCent = (float)targetObj.BaseAttr.HP / (float)targetObj.BaseAttr.MaxHP * 100;
            if (m_HpInfo.m_TargetHPText != null)
            {
                m_HpInfo.m_TargetHPText.text = perCent.ToString("0.000") + "%";
            }
        }
        else
        {
            if (m_HpInfo.m_TargetHPText != null)
            {
                m_HpInfo.m_TargetHPText.text = Utils.ConvertLargeNumToString(targetObj.BaseAttr.HP) + "/" + Utils.ConvertLargeNumToString(targetObj.BaseAttr.MaxHP);
            }
        }
        int hpCount = 1;

        if (targetObj.BaseAttr.CachedRoleBase != null)
        {
            hpCount = targetObj.BaseAttr.CachedRoleBase.HpCount;
        }

        Obj_NPC npcObj = targetObj as Obj_NPC;

        m_isNpc = false;
        if (null != npcObj)
        {
            if (npcObj.NpcType == GameDefine_Globe.NPC_TYPE.BOSS)
            {
                m_isNpc = true;
                UpdateBossHpShow(targetObj.BaseAttr.HP, targetObj.BaseAttr.MaxHP, hpCount);
            }
        }

        UpdateHpShow(targetObj.BaseAttr.HP, targetObj.BaseAttr.MaxHP, hpCount);

        // 蓝条范围 0.345~1
        //玩家才显示蓝条
        if (targetObj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER ||
            targetObj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER ||
            targetObj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_ZOMBIE_PLAYER)
        {
            Obj_OtherPlayer _Player = targetObj as Obj_OtherPlayer;
            if (_Player)
            {
                m_isNeedShowMp = true;
                m_TargetMPSprite.gameObject.SetActive(true);
                m_TargetMPText.gameObject.SetActive(true);


//                 m_TargetMPSprite.spriteName = "MagicBar";
//                 m_TargetMPSprite.MakePixelPerfect();
//                 m_TargetMPBakSprite.spriteName = "MagicBar1";
//                 m_TargetMPBakSprite.MakePixelPerfect();

                if (targetObj.BaseAttr.MaxMP > 0)
                {
                    m_TargetMPSprite.fillAmount = (float)targetObj.BaseAttr.MP / (float)targetObj.BaseAttr.MaxMP;
                }
                else
                {
                    m_TargetMPSprite.fillAmount = 0;
                }
                m_TargetMPText.text = Utils.ConvertLargeNumToString(targetObj.BaseAttr.MP) + "/" + Utils.ConvertLargeNumToString(targetObj.BaseAttr.MaxMP);
                if (m_TargetMPSprite.fillAmount <= 0)
                {
                    m_TargetMPSprite.fillAmount    = 0;
                    m_TargetMPBakSprite.fillAmount = 0;
                    m_fMPBakSpeed = 0.003f;
                }
                else if (m_TargetMPBakSprite.fillAmount - m_TargetMPSprite.fillAmount > 0)
                {
                    m_fMPBakSpeed = (m_TargetMPBakSprite.fillAmount - m_TargetMPSprite.fillAmount) * Time.deltaTime;
                }
                else if (m_TargetMPBakSprite.fillAmount - m_TargetMPSprite.fillAmount < 0)
                {
                    m_TargetMPBakSprite.fillAmount = m_TargetMPSprite.fillAmount;
                }
                if (isSameTarget && m_nLastMp <= targetObj.BaseAttr.MP)
                {
                    m_TargetMPBakSprite.fillAmount = m_TargetMPSprite.fillAmount;
                }
            }
        }
        else
        {
            m_isNeedShowMp = false;
            m_TargetMPSprite.gameObject.SetActive(false);
            m_TargetMPText.gameObject.SetActive(false);
            m_TargetMPBakSprite.gameObject.SetActive(false);
        }
        //if (m_TargetHeadSprite != null)
        //{
        //    m_TargetHeadSprite.spriteName = targetObj.BaseAttr.HeadPic;
        //    m_TargetHeadSprite.MakePixelPerfect();
        //}
        //else
        //{
        //LogModule.WarningLog("TargetFrameRoot prefab m_TargetHeadSprite is null");
        //}
        m_nLastMp = targetObj.BaseAttr.MP;

        //if (targetObj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC)
        //{
        //    Obj_NPC targetNPC = targetObj as Obj_NPC;
        //    if (null == targetNPC)
        //    {
        //        return;
        //    }
        //    if (targetNPC.BelongObjID != GlobeVar.INVALID_ID && targetNPC.BelongTeamID == GlobeVar.INVALID_ID)
        //    {
        //        if (Singleton<ObjManager>.Instance.MainPlayer != null &&
        //            Singleton<ObjManager>.Instance.MainPlayer.ServerID == targetNPC.BelongObjID)
        //        {
        //            m_BelongSprite.SetActive(true);
        //        }
        //        else
        //        {
        //            m_BelongSprite.SetActive(false);
        //        }
        //    }
        //    else if (targetNPC.BelongObjID == GlobeVar.INVALID_ID && targetNPC.BelongTeamID != GlobeVar.INVALID_ID)
        //    {
        //        if (GameManager.gameManager.PlayerDataPool.TeamInfo.TeamID == targetNPC.BelongTeamID)
        //        {
        //            m_BelongSprite.SetActive(true);
        //        }
        //        else
        //        {
        //            m_BelongSprite.SetActive(false);
        //        }
        //    }
        //}
    }
Example #18
0
    void UpdateMissionBoard()
    {
        m_MissionBoadTime += Time.deltaTime;
        if (m_MissionBoadTime < 1)  // 一秒刷新一次
        {
            return;
        }
        m_MissionBoadTime = 0;


        // 无NPC
        if (m_MissionNpc == null)
        {
            if (null != gameObject.transform.parent)
            {
                BillBoard billBaoard = gameObject.transform.parent.gameObject.GetComponent <BillBoard>();
                if (billBaoard)
                {
                    if (billBaoard.BindObj != null)
                    {
                        m_MissionNpc = billBaoard.BindObj.GetComponent <Obj_NPC>();
                    }
                }
            }

            if (m_MissionNpc == null)
            {
                return;
            }
        }

        // 显示顺序是已完成,可接,可交,
        MissionBoardState boardState = GameManager.gameManager.MissionManager.GetMissionBoardState(m_MissionNpc);
        bool bAccept = GameManager.gameManager.MissionManager.IsHaveMissionAccepted(m_MissionNpc);

        if (boardState == MissionBoardState.MISSION_COMPLETED)
        {
            this.gameObject.GetComponent <UISprite>().spriteName = m_MissionCompletedSprit;
            gameObject.SetActive(true);
        }
        else if (bAccept)
        {
            this.gameObject.GetComponent <UISprite>().spriteName = m_MissionCanAcceptedSprit;
            gameObject.SetActive(true);
        }
        else if (boardState == MissionBoardState.MISSION_CANCOMPLETED)
        {
            this.gameObject.GetComponent <UISprite>().spriteName = m_MissionCanCompletedSprit;
            gameObject.SetActive(true);
        }
        else
        {
            this.gameObject.GetComponent <UISprite>().spriteName = "";
            //gameObject.SetActive(false);
        }

        // 已有接受的任务
//		bool bRet = false;
//        switch (boardState)
//        {
//            case MissionBoardState.MISSION_ACCEPTED:
//                {
//                    //this.gameObject.GetComponent<UISprite>().spriteName = m_MissionAcceptedSprit;
//                    //bRet = true;
//                 }
//                 break;
//            case MissionBoardState.MISSION_CANCOMPLETED:
//                {
//                    this.gameObject.GetComponent<UISprite>().spriteName = m_MissionCanCompletedSprit;
//                    bRet = true;
//                }
//                 break;
//            case MissionBoardState.MISSION_COMPLETED:
//                {
//                    this.gameObject.GetComponent<UISprite>().spriteName = m_MissionCompletedSprit;
//                    bRet = true;
//                }
//                 break;
//            default:
//                break;
//        }
//        if (bRet == true)
//        {
//            gameObject.SetActive(true);
//           return;
//        }
//
//        // 有任务可接
//        if (GameManager.gameManager.MissionManager.IsHaveMissionAccepted(m_MissionNpc))
//        {
//            this.gameObject.GetComponent<UISprite>().spriteName = m_MissionCanAcceptedSprit;
//            gameObject.SetActive(true);
//            return;
//        }
//
//        // 没有就清空
//        this.gameObject.GetComponent<UISprite>().spriteName = "";
    }
Example #19
0
 public void Show(int nDialogID)
 {
     m_CareNPC   = null;
     m_nDialogID = nDialogID;
 }
Example #20
0
    /// <summary>
    /// 显示对话框
    /// </summary>
    /// <param name='bMission'>
    /// 是否是任务
    /// </param>
    /// <param name='nDialogId'>
    /// 任务ID/对白ID
    /// </param>
    public static void ShowMissionDialogUI(int nMissionID)
    {
        Tab_MissionBase table = TableManager.GetMissionBaseByID(nMissionID, 0);

        if (table != null)
        {
            // NPC 距离判断
            Obj_NPC TargetNpc = Singleton <DialogCore> .GetInstance().CareNPC;

            if (TargetNpc == null)
            {
//				LogModule.ErrorLog("Can not find DialogCore's CareNPC");
                return;
            }

            if (!TargetNpc.IsHaveMission(nMissionID))
            {
                LogModule.ErrorLog("NPC {0} do not have mission {1}", TargetNpc.name, nMissionID);
                return;
            }

            // 是否已接取
            bool         isHaveMission = GameManager.gameManager.MissionManager.IsHaveMission(nMissionID);
            MissionState misState      = (MissionState)GameManager.gameManager.MissionManager.GetMissionState(nMissionID);
            if (isHaveMission && misState != MissionState.Mission_Failed)
            {
                if (MissionState.Mission_Completed == misState)
                {
                    if (table.CompleteDataID == TargetNpc.BaseAttr.RoleBaseID)
                    {
                        ShowMissionDialogUI(nMissionID, MissionInfoController.MissionUIType.TYPE_COMPLETE);
                    }
                    else
                    {
                        // cunyi
                        LogModule.ErrorLog("Mission {0} completeDataID {1} dos not match with targetNPC's roleBaseID {2}", nMissionID, table.CompleteDataID, TargetNpc.BaseAttr.RoleBaseID);
                    }
                }
                else
                {
                    // cunyi
                    LogModule.ErrorLog("Mission {0} 's state {1} is not complete", nMissionID, misState);
                }
            }
            else
            {
                bool isCanAcceptMission = GameManager.gameManager.MissionManager.CanAcceptMission(nMissionID);
                if (isCanAcceptMission)
                {
                    if (table.AcceptDataID == TargetNpc.BaseAttr.RoleBaseID)
                    {
                        ShowMissionDialogUI(nMissionID, MissionInfoController.MissionUIType.TYPE_ACCETP);
                    }
                    else
                    {
                        // cunyi
                        LogModule.ErrorLog("Mission {0} acceptDataID {1} dos not match with targetNPC's roleBaseID {2}", nMissionID, table.AcceptDataID, TargetNpc.BaseAttr.RoleBaseID);
                    }
                }
                else
                {
                    // cunyi
                    LogModule.ErrorLog("Can not accept mission {0}", nMissionID);
                }
            }
        }
        else
        {
            LogModule.ErrorLog("Can not find missionID {0} in Tab_MissionBase", nMissionID);
        }
    }
        public uint Execute(PacketDistributed ipacket)
        {
            GC_SYNSELTRAGET_ATTR packet = (GC_SYNSELTRAGET_ATTR )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic


            Obj_MainPlayer MainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

            if (MainPlayer == null)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            if (MainPlayer.SelectTarget == null)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }

            //血量
            if (packet.HasCurHp)
            {
                MainPlayer.SelectTarget.BaseAttr.HP = packet.CurHp;
            }
            if (packet.HasMaxHP)
            {
                MainPlayer.SelectTarget.BaseAttr.MaxHP = packet.MaxHP;
            }
            //只显示玩家的蓝
            if (MainPlayer.SelectTarget.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER ||
                MainPlayer.SelectTarget.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER ||
                MainPlayer.SelectTarget.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_ZOMBIE_PLAYER)
            {
                //法力
                if (packet.HasCurMp)
                {
                    MainPlayer.SelectTarget.BaseAttr.MP = packet.CurMp;
                }
                if (packet.HasMaxMP)
                {
                    MainPlayer.SelectTarget.BaseAttr.MaxMP = packet.MaxMP;
                }
            }

            //等级
            if (packet.HasCurLev)
            {
                MainPlayer.SelectTarget.BaseAttr.Level = packet.CurLev;
            }
            //名字
            if (packet.HasName)
            {
                MainPlayer.SelectTarget.BaseAttr.RoleName = packet.Name;
            }

            // 当前归属
            if (MainPlayer.SelectTarget.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC)
            {
                Obj_NPC targetNPC = MainPlayer.SelectTarget as Obj_NPC;
                if (packet.HasBelongTeamID)
                {
                    targetNPC.BelongTeamID = packet.BelongTeamID;
                }
                if (packet.HasBelongObjID)
                {
                    targetNPC.BelongObjID = packet.BelongObjID;
                }
            }

            //更新头像信息
            if (TargetFrameLogic.Instance() != null)
            {
                TargetFrameLogic.Instance().ChangeTarget(MainPlayer.SelectTarget);
                TargetFrameLogic.Instance().ShowTargetDebuffLogo(packet.DeBuffIDList);
            }

            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
Example #22
0
 private static void showNPCDialog(Obj_NPC npc)
 {
     Singleton <DialogCore> .GetInstance().Show(npc);
 }
Example #23
0
        private static void LoadModelComplete(LoadedObjData data, LoadCompleteCallBackParameter parameter)
        {
            GameObject resObj = data.LoadedObj as GameObject;
            object     param1 = parameter.Parameter1;
            object     param2 = parameter.Parameter2;
            object     param3 = parameter.Parameter3;

            if (null == param1 || null == param2)
            {
                return;
            }

            GameObject rootObj = param1 as GameObject;

            if (null == rootObj)
            {
                return;
            }
            Tab_CharModel charModelTab = param2 as Tab_CharModel;

            Obj baseObj = rootObj.GetComponent <Obj>();

            if (baseObj == null)
            {
                return;
            }

            GameObject charModel = Object.Instantiate(resObj) as GameObject;

            if (null == charModel || charModelTab == null)
            {
                return;
            }
            else
            {
                charModel.name = "Model";
            }
            if (false == ReloadModel(rootObj, charModel))
            {
                return;
            }
            if (rootObj.GetComponent <Obj_NPC>())
            {
                if (rootObj.GetComponent <Obj_NPC>().isVisible)
                {
                    rootObj.GetComponent <Obj_NPC>().BecameVisible();
                }
            }
            string lastUrl = baseObj.MainModelUrl;

            baseObj.SetMainModelUrl(data.Url);
            ResourcesManager.Instance.AddCachedRef(data.Url, EResourceType.CharacterModel, baseObj.ObjType);
            baseObj.InitEffect();
            //特异化处理
            switch (baseObj.ObjType)
            {
            case Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_CLIENT:
            {
                Obj_Client curCharacter = baseObj as Obj_Client;
                if (curCharacter == null)
                {
                    LogModule.ErrorLog("charObj {0} loaded error!", rootObj.name);
                    break;
                }
                curCharacter.BaseAttr.RoleName = charModelTab.Name;

                curCharacter.AnimationFilePath = charModelTab.AnimPath;

                curCharacter.OnModelInitOk();
                DelAsycModelOver delOverFunction = param3 as DelAsycModelOver;
                if (null != delOverFunction)
                {
                    delOverFunction(curCharacter, null);
                }
                break;
            }

            case Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_NPC:
            {
                //由于InitAnimation中用到了Model,所以放在模型加载结束后初始化
                Obj_NPC objNPC = baseObj as Obj_NPC;
                if (objNPC == null)
                {
                    LogModule.ErrorLog("charObj {0} loaded error!", rootObj.name);
                    break;
                }


                if (MobileHardwareInfo.Instance.HardwareLevel == Games.GlobeDefine.GameDefine_Globe.HardwardLevel.LEVEL_HIGH)
                {
                    UpdateEdgeGlow edgeGlow = charModel.GetComponent <UpdateEdgeGlow>();
                    if (edgeGlow == null)
                    {
                        edgeGlow = charModel.AddComponent <UpdateEdgeGlow>();
                    }

                    objNPC.NpcEdgeGlow = edgeGlow;

                    if (objNPC.NpcType == GameDefine_Globe.NPC_TYPE.BOSS)
                    {
                        if (objNPC.NpcEdgeGlow != null)
                        {
                            //  objNPC.NpcEdgeGlow.SetBossOutLineWidth(GlobeVar.BOSS_OUTLINE_WIDTH);
                            //add 用Cabal/Light Probes Rim Alpha Test 代替原来的Cabal/EdgeGlow shader.
                        }
                    }
                }

                if (MobileHardwareInfo.Instance.HardwareLevel == Games.GlobeDefine.GameDefine_Globe.HardwardLevel.LEVEL_LOW)
                {
                    Transform trans = objNPC.transform.FindChild("shadow");
                    if (trans != null)
                    {
                        trans.gameObject.SetActive(false);
                    }
                }

                objNPC.OnModelInitOk();
                break;
            }

            case Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER:
            {
                Obj_OtherPlayer objOtherPlayer = baseObj as Obj_OtherPlayer;
                if (null == objOtherPlayer)
                {
                    return;
                }

                bool value = (bool)param3;
                if (null != objOtherPlayer)
                {
                    if (!value)
                    {
                        objOtherPlayer.NormalGameObject = charModel;
                    }
                    else
                    {
                        objOtherPlayer.ChangeGameObject = charModel;
                        Utils.SetActive(objOtherPlayer.ChangeGameObject, true);
                        objOtherPlayer.m_lastMainObjUrl = lastUrl;
                    }
                }
                objOtherPlayer.RealoadPlayerWeaponVisual();
                objOtherPlayer.RealoadPlayerFlyWingModel();

                //由于InitAnimation中用到了Model,所以放在模型加载结束后初始化
                objOtherPlayer.UpdateCombatValue();
                objOtherPlayer.OnModelInitOk();
                objOtherPlayer.UpdateBelleShow();
                //objOtherPlayer.RideOrUnMount(objOtherPlayer.MountID);
                break;
            }

            case Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_ZOMBIE_PLAYER:
            {
                Obj_ZombieUser zombieUser = baseObj as Obj_ZombieUser;
                if (null == zombieUser)
                {
                    return;
                }
                zombieUser.RealoadPlayerWeaponVisual();
                zombieUser.OnModelInitOk();
                break;
            }

            case Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_FELLOW:
            {
                //由于InitAnimation中用到了Model,所以放在模型加载结束后初始化
                Obj_Fellow objFellow = baseObj as Obj_Fellow;
                if (null != objFellow)
                {
                    objFellow.SetVisible(objFellow.IsVisibleChar());
                }
                break;
            }

            case Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER:
            {
                Obj_MainPlayer main  = baseObj as Obj_MainPlayer;
                bool           value = (bool)param3;
                if (null != main)
                {
                    if (!value)
                    {
                        main.NormalGameObject = charModel;
                    }
                    else
                    {
                        main.ChangeGameObject = charModel;
                        Utils.SetActive(main.ChangeGameObject, false);
                        main.m_lastMainObjUrl = lastUrl;
                    }
                    ObjManager.AddOutLineMaterial(charModel);
                    main.RealoadPlayerWeaponVisual();
                    main.UpdateCombatValue();
                    main.OnModelInitOk();
                    main.UpdateBelleShow();
                    //main.RideOrUnMount(main.MountID);
                }
                Singleton <ObjManager> .Instance.m_bBeginAsycCreateMainPlayer = false;
                SetPlayerShader(charModel);
                CameraManager.Instance.ResetCameraCullingMash();

                if (!value)
                {
                    GameManager.gameManager.FlyWingMananger.ReLoadFlyWing();
                }
                main.IsNoMove = false;

                break;
            }

            case Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_YANHUA:
            case Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_SNARE:
            {
                //并没有特殊处理
                break;
            }
            }
        }