void OnTeamFollow()
    {
        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;

        if (mainPlayer == null)
        {
            return;
        }

        // 没队伍
        if (GlobeVar.INVALID_ID == GameManager.gameManager.PlayerDataPool.TeamInfo.TeamID)
        {
            return;
        }

        if (mainPlayer.IsTeamLeader())  // 队长
        {
            // 组队跟随状态
            if (false == mainPlayer.IsInTeamFollow)
            {
                mainPlayer.ReqTeamFollow();// 请求跟随
            }
            else
            {
                // 解散
                mainPlayer.AskLeaveTeamFollow();
            }
        }
        else// 队员
        {
            // 离开跟随
            mainPlayer.AskLeaveTeamFollow();
        }
    }
    public UISprite m_TeamFollowState;    // 组队跟随 状态图片 非跟随状态:"false",跟随状态:"true"

    public void UpdateButtonTeamFollow()
    {
        bool   bIsShow            = false;
        string strTeamFollowState = "";

        // 有队伍
        if (GlobeVar.INVALID_ID != GameManager.gameManager.PlayerDataPool.TeamInfo.TeamID)
        {
            Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;
            if (mainPlayer != null)
            {
                if (mainPlayer.IsTeamLeader())  // 队长
                {
                    bIsShow = true;
                }
                else if (mainPlayer.IsInTeamFollow) //  队员 跟随下
                {
                    bIsShow = true;
                }

                // 组队跟随状态图片
                strTeamFollowState = (mainPlayer.IsInTeamFollow ? "gensui01" : "gensui");
            }
        }

        if (m_ButtonTeamFollow && m_TeamFollowState)
        {
            m_ButtonTeamFollow.gameObject.SetActive(bIsShow);
            m_TeamFollowState.spriteName = strTeamFollowState;
        }
    }
Пример #3
0
    void OnTeamFollowChangSceneButton()
    {
        // 隐藏下 就不判断了
        if (m_ChangSceneUI.activeInHierarchy == true)
        {
            m_ChangSceneUI.SetActive(false);
            return;
        }


        if (Singleton <ObjManager> .Instance == null)
        {
            return;
        }

        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;

        if (mainPlayer == null)
        {
            return;
        }

        // 简单的条件判断
        if (false == GlobalData.IsVillainOpen())
        {
            // 提示
            mainPlayer.SendNoticMsg(false, "#{5242}");
            return;
        }

        // 没队伍
        if (GlobeVar.INVALID_ID == GameManager.gameManager.PlayerDataPool.TeamInfo.TeamID)
        {
            // 提示
            mainPlayer.SendNoticMsg(false, "#{5244}");
            return;
        }

        if (false == mainPlayer.IsTeamLeader())  // 队长
        {
            // 提示
            mainPlayer.SendNoticMsg(false, "#{5244}");
            return;
        }

        // 组队跟随状态
//         if (false == mainPlayer.IsInTeamFollow)
//         {
//             // 提示
//             mainPlayer.SendNoticMsg(false, "#{5242}");
//             return;
//         }

        m_ChangSceneUI.SetActive(true);
    }
Пример #4
0
    //召唤队友
    void OnClickZhaoHuan()
    {
        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;

        if (mainPlayer != null)
        {
            if (false == mainPlayer.IsTeamLeader())
            {
                mainPlayer.SendNoticMsg(false, "#{4725}");
                return;
            }
            mainPlayer.ReqCallMember();
        }
    }
Пример #5
0
    void OnTeamFollow()
    {
        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;

        if (mainPlayer != null)
        {
            if (false == mainPlayer.IsTeamLeader())
            {
                return;
            }

            mainPlayer.ReqTeamFollow();
        }
    }
Пример #6
0
    void Start () {
		m_RemainFanPaiCount.text = m_FanPaiNumber.ToString();
		m_nNextLevelAuto = GlobeVar.INVALID_ID;
        if (m_DrawList == null)
        {
            m_DrawList = new List<ItemInfo>();
        }
        if (m_RewardList == null)
        {
            m_RewardList = new List<ItemInfo>();
        }
        m_nDrawIndexEx = -1;
//         for (int i = 0; i < m_Star.Length; i++)
//         {
//             m_Star[i].spriteName = "weijihuo";//.gameObject.SetActive(false);
//         }

        if (m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FB_HUNDUNZHIDI)
        {
			GameWinWindow.SetActive(false);
            LotteryWindow.SetActive(false);
            ScoreWindow.SetActive(false);
            CangJingGeWindow.SetActive(true);
            //m_CangJingGeTier.text = "层数:" + m_nStar.ToString();
            m_CangJingGeTier.text = StrDictionary.GetClientDictionaryString("#{2781}", m_nStar);
            //m_CangJingGeTime.text = "通过时间:" + m_nScore.ToString();
            m_CangJingGeTime.text = StrDictionary.GetClientDictionaryString("#{2782}", m_nScore);

            m_OpenCopyButton.SetActive(true);
            m_QuitBtn.SetActive(true);

        }
        else
        {
			GameWinWindow.SetActive(true);
            LotteryWindow.SetActive(true);
            ScoreWindow.SetActive(true);
            CangJingGeWindow.SetActive(false);
            m_CangJingGeTier.text = "";
            m_CangJingGeTime.text = "";

            m_OpenCopyButton.SetActive(false);
            m_QuitBtn.SetActive(false);
        }
        if (m_nResult == 1)
        {
            if (m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FB_HUNDUNZHIDI)
            {
                BG.SetActive(false);
                GameWinWindow.SetActive(false);
                GameFailWindow.SetActive(false);
                GameStaticWinWindow.SetActive(true);
                //modified by mawenbin
                //藏经阁挑战胜利特殊处理
                //已通关最高层
                if (m_nStar >= (int)Games.GlobeDefine.GameDefine_Globe.MAX_COPYSCENE_CJGTIER)
                {
                    m_OpenCopyButton.SetActive(false);
                    m_StaticWinText.text = StrDictionary.GetClientDictionaryString("#{2658}");
                }
                else
                {
                    //单人藏经阁
                    if ((int)GameDefine_Globe.CopyScene_PlayType.SINGLE == m_nSolo)
                    {
						if(GameManager.gameManager.MissionManager.IsHaveMission(m_nMissionID)&&m_nStar==m_nMissionLevel)
						{
							m_nNextLevelAuto = GlobeVar.INVALID_ID;
						}
						else
						{
							m_nNextLevelAuto = m_nNextLevelAutoTimer;
						}

                        m_OpenCopyButton.SetActive(true);
                        m_StaticWinText.text = StrDictionary.GetClientDictionaryString("#{2220}", m_nStar);
                    }
                    //组队藏经阁
                    else if ((int)GameDefine_Globe.CopyScene_PlayType.MULTIPLE == m_nSolo)
                    {
                        Obj_MainPlayer MainPlayer = Singleton<ObjManager>.GetInstance().MainPlayer;
                        if (null != MainPlayer)
                        {
                            //队长显示下一层按钮
                            if (MainPlayer.IsTeamLeader())
                            {
                                m_OpenCopyButton.SetActive(true);
                                m_StaticWinText.text = StrDictionary.GetClientDictionaryString("#{2220}", m_nStar);
                            }
                            //组队藏经阁队员不显示下一层按钮
                            else
                            {
                                m_OpenCopyButton.SetActive(false);
                                m_StaticWinText.text = StrDictionary.GetClientDictionaryString("#{10828}", m_nStar);
                            }
                        }
                    }
                }
            }
            else
            {
                if (m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_ZHENLONGQIJU ||
                   m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_JUXIANZHUANG ||
                   m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_YANZIWU ||
                   m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_YANGWANGGUMU ||
                   m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_HUTOUZHANCHUAN ||
                   m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FBSHAOSHISHAN ||
                   m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_YANMENGUANDEFENCE)
                {
                    GameWinWindow.SetActive(false);
                    GameFailWindow.SetActive(false);
                    BG.SetActive(false);
                    m_fEndTime = Time.realtimeSinceStartup + 3.0f;
                    //m_StaticWinText.text = "副本成功";
                    //m_StaticWinText.text = StrDictionary.GetClientDictionaryString("#{2783}");
                }
                else
                {
                    GameWinWindow.SetActive(false);
                    GameFailWindow.SetActive(false);
                    if (BackCamerControll.Instance() != null)
                    {
                        BackCamerControll.Instance().PlaySceneEffect(475);
                    }
                    GameManager.gameManager.SoundManager.PlaySoundEffect(249);
                    BG.SetActive(false);
                    m_fEndTime = Time.realtimeSinceStartup + 2.0f;
                    //m_StaticWinText.text = "副本成功";
                    //m_StaticWinText.text = StrDictionary.GetClientDictionaryString("#{2783}");
                }
            }

        }
        else
        {
            if (m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FB_HUNDUNZHIDI)
            {
                BG.SetActive(false);
                GameWinWindow.SetActive(false);
                GameFailWindow.SetActive(true);
                GameStaticWinWindow.SetActive(false); 
                m_FailText.text = StrDictionary.GetClientDictionaryString("#{2219}", m_nStar);
            }
            else
            {
                BG.SetActive(false);
                GameWinWindow.SetActive(false);
                GameFailWindow.SetActive(true);
                //m_FailText.text = "副本失败";
                m_FailText.text = StrDictionary.GetClientDictionaryString("#{2784}");
            }
        }        
        m_Lianji.text = m_nCarom.ToString();
        Tab_SceneClass pSceneClass = null;
        Tab_CopyScene pCopyScene = null;
        Tab_CopySceneRule pCopySceneRule = null;
        if (m_nSceneId == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FB_HUNDUNZHIDI)
        {

            pCopySceneRule = TableManager.GetCopySceneRuleByID(m_nStar, 0);
            if (pCopySceneRule == null)
            {
                return;
            }
        }
        else
        {
            pSceneClass = TableManager.GetSceneClassByID(m_nSceneId, 0);
            if (pSceneClass == null)
            {
                return;
            }

            pCopyScene = TableManager.GetCopySceneByID(pSceneClass.CopySceneID, 0);
            if (pCopyScene == null)
            {
                return;
            }
            if (m_nSolo == 1)
            {
                pCopySceneRule = TableManager.GetCopySceneRuleByID(pCopyScene.GetRulebyIndex(m_Difficult - 1), 0);
            }
            else
            {
                pCopySceneRule = TableManager.GetCopySceneRuleByID(pCopyScene.GetRuleTeambyIndex(m_Difficult - 1), 0);
            }
            if (pCopySceneRule == null)
            {
                return;
            }
        }
        
        string TongGuanSec = (m_nTime % 60).ToString();
        if (m_nTime % 60 < 10 )
        {
            TongGuanSec = "0" + (m_nTime % 60).ToString();
        }
        string RuleSec = (pCopySceneRule.ExistTime % 60).ToString();
        if (pCopySceneRule.ExistTime % 60 < 10)
        {
            RuleSec = "0" + (pCopySceneRule.ExistTime % 60).ToString();
        }

        m_TongGuanTime.text = (m_nTime / 60).ToString() + ":" + TongGuanSec + "/" + (pCopySceneRule.ExistTime / 60).ToString() + ":" + RuleSec;
        m_Exp.text = m_nExp.ToString();
        m_PetExp.text = m_nPetExp.ToString();
        m_Money.text = m_nMoney.ToString();
        m_JiFen.text = m_nScore.ToString();

        for (int i = 0; i < 6; ++i )
        {
            m_SpriteDraw[i].spriteName = "";
            m_LabelDraw[i].text = "0";
        }
        for (int i = 0; i < 10; ++i)
        {
            m_SpriteReward[i].spriteName = "";
            m_LabelReward[i].text = "0";
        }
        for (int i = 0; i < m_DrawList.Count && i < 4; ++i)
        {

            if (m_DrawList[i].type== 1)  //物品
            {
                Tab_CommonItem curItem = TableManager.GetCommonItemByID(m_DrawList[i].itemId, 0);
                if (curItem != null)
                {
                    m_SpriteDraw[i].spriteName = curItem.Icon;
                    m_LabelDraw[i].text = m_DrawList[i].count.ToString();
                }
            }
            else if (m_DrawList[i].type == 2)  //金钱
            {
                m_SpriteDraw[i].spriteName = "jinbi";
                m_LabelDraw[i].text = m_DrawList[i].count.ToString();
            }
            else if (m_DrawList[i].type == 3)  //元宝
            {
                m_SpriteDraw[i].spriteName = "yuanbao";
                m_LabelDraw[i].text = m_DrawList[i].count.ToString();
            }
            else if (m_DrawList[i].type == 4)  //经验
            {
                m_SpriteDraw[i].spriteName = "jingyan";
                m_LabelDraw[i].text = m_DrawList[i].count.ToString();
            }
              
        }
        for (int i = 0; i < m_RewardList.Count && i < 10; ++i)
        {
            if (m_RewardList[i].type == 1)  //物品
            {
                Tab_CommonItem curItem = TableManager.GetCommonItemByID(m_RewardList[i].itemId, 0);
                if (curItem != null)
                {
                    m_SpriteReward[i].spriteName = curItem.Icon;
                    m_LabelReward[i].text = m_RewardList[i].count.ToString();
                }
            }
            else if (m_RewardList[i].type == 2)  //金钱
            {
                m_SpriteReward[i].spriteName = "jinbi";
                m_LabelReward[i].text = m_RewardList[i].count.ToString();
            }
            else if (m_RewardList[i].type == 3)  //元宝
            {
                m_SpriteReward[i].spriteName = "yuanbao";
                m_LabelReward[i].text = m_RewardList[i].count.ToString();
            }
            else if (m_RewardList[i].type == 4)  //经验
            {
                m_SpriteReward[i].spriteName = "jingyan";
                m_LabelReward[i].text = m_RewardList[i].count.ToString();
            }

        }
        UpdateButtonState(false);

		showNewGuild ();
    }
Пример #7
0
        public override void UpdateAI()
        {
            base.UpdateAI();
            if (m_player == null || m_player.Controller == null)
            {
                return;
            }
            if (m_player.IsDie())
            {
                return;
            }
            if (m_player.Controller.CombatFlag == false)
            {
                return;
            }
            if (m_player.AutoComabat == false)
            {
                return;
            }
            //轻功状态下 不挂机
            if (m_player.QingGongState)
            {
                return;
            }
            if (m_player.AcceleratedMotion != null && m_player.AcceleratedMotion.Going == true)
            {
                return;
            }
            //剧情播放中不挂机
            if (m_player.IsInModelStory)
            {
                return;
            }
            // 跟随不挂机
            if (false == m_player.IsTeamLeader() && m_player.IsInTeamFollow)
            {
                return;
            }
            if (Cutscene.CutsceneManager.Instance.IsPlayingMovieStory)
            {
                return;
            }
            //阻塞状态不挂机
            if (Cutscene.CutsceneManager.Instance.BlockAutoBattle)
            {
                return;
            }
            //自动交接任务的寻路过程中不挂机
            if (null != GameManager.gameManager.AutoSearch &&
                true == GameManager.gameManager.AutoSearch.IsAutoSearching)
            {
                return;
            }
            //modify 普通攻击:可以连续按。在技能结束前可以再次释放不能直接return。
            if (m_player.SkillCore.IsUsingSkill)
            {
                bool shouldReturn = true;
                if ((Time.time * 1000 - CurUseSkillStartTime) >= m_nNormalSkillInterval)
                {
                    if (IsNormalSkill(CurUseSkillId))
                    {
                        shouldReturn = false;
                    }
                }
                if (shouldReturn)
                {
                    return;
                }
            }

            #region UnUsed

            /* if (m_player.SkillCore.IsUsingSkill)
             * {
             *
             *   return;
             *   if (m_player.SkillCore.UsingSkillBaseInfo != null && m_player.SkillCore.UsingSkillExInfo !=null)
             *   {
             *       //正在使用祝融掌 则检测下当前目标是否还存在 不存在则重新选取目标
             *       //if (m_player.SkillCore.UsingSkillBaseInfo.Id ==(int)SKILLBASEID.ZLZ)
             *       //{
             *       //    if (m_player.SelectTarget ==null || m_player.SelectTarget.IsDie())
             *       //    {
             *       //        Obj_Character _NewAttackCharacter = SeleCanAttackTar(m_player.SkillCore.UsingSkillExInfo.Radius);
             *       //        if (_NewAttackCharacter != null)
             *       //        {
             *       //            //设置新的选中目标
             *       //            m_player.OnSelectTarget(_NewAttackCharacter.gameObject,false);
             *       //            m_player.MoveTo(_NewAttackCharacter.transform.position, _NewAttackCharacter.gameObject,1.0f);
             *       //        }
             *       //    }
             *       //}
             *
             *       //连续技特殊判定:
             *       //1、判定玩家是否主动打断;
             *       //2、不判定是否释放完成,一直尝试是否可释放;
             *       if (IsPlayerBreakRepeatSkill())
             *       {
             *           ClearPlayerBreakRepeatSkill();
             *           return;
             *       }
             *       //非连续技则等待一帧
             *       if (!IsUsingRepeatSkillWithNext())
             *       {
             *           return;
             *       }
             *   }
             * }
             * else
             * {
             *   if (m_fLastUseEndTime <=0.1f)
             *   {
             *       m_fLastUseEndTime = Time.time;
             *   }
             * }*/
            #endregion
            //留个缓冲时间
            //if (Time.time -m_fLastUseEndTime <0.5f)
            //{
            //    return;
            //}
            //有轻功点了出现了 向轻功点移动
            if (m_player.AutoMovetoQGPointId != -1)
            {
                //打断挂机状态
                m_player.BreakAutoCombatState();

                /*if (GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_YANZIWU)
                 * {
                 *  //燕子坞轻功点移动
                 *  m_player.AutoFightFlyInYanZiWu();
                 * }*/
                m_player.AutoMovetoQGPointId = -1;
                return;
            }
            m_fLastUseEndTime = 0.0f;
            int skillId = SeleSkill();
            if (skillId == -1)
            {
                return;
            }
            Tab_SkillEx skillExInfo = TableManager.GetSkillExByID(skillId, 0);
            if (skillExInfo == null)
            {
                return;
            }
            Tab_SkillBase skillBaseInfo = TableManager.GetSkillBaseByID(skillExInfo.BaseId, 0);
            if (skillBaseInfo == null)
            {
                return;
            }

            Obj_Character CanAttackCharacter = null;
            //如果当前选中的目标是敌对的了 则不需要再次选取目标
            if (m_player.SelectTarget != null && m_player.SelectTarget.IsDie() == false)
            {
                if (Reputation.IsEnemy(m_player.SelectTarget) ||
                    Reputation.IsNeutral(m_player.SelectTarget))
                {
                    CanAttackCharacter = m_player.SelectTarget;
                }
            }

            float skillRadius = skillExInfo.Radius;

            if (CanAttackCharacter == null ||
                (CanAttackCharacter != null && IsDisStartPointTooFar(skillRadius, CanAttackCharacter.Position))
                )
            {
                CanAttackCharacter = SeleCanAttackTar(skillRadius);
            }
            //是否有攻击目标 没有攻击目标就不要自动放技能了
            if (CanAttackCharacter == null)
            {
                /*
                 * if (GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_ZHENLONGQIJU)
                 * {
                 *  Vector3 pos = new Vector3(18, m_player.gameObject.transform.position.y, 16);
                 *  m_player.MoveTo(pos, null, 0.0f);
                 *
                 * }
                 * if (GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_YANGWANGGUMU)
                 * {
                 *  Vector3 pos = new Vector3(20, m_player.gameObject.transform.position.y, 21);
                 *  m_player.MoveTo(pos, null, 0.0f);
                 * }
                 *
                 * if (GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_YANZIWU)
                 * {
                 *  m_player.AutoFightInYanziwu();
                 * }
                 * if (GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FOURVILLAIN)
                 * {
                 *  Singleton<ObjManager>.Instance.MainPlayer.AutoFightInFourVillain();
                 * }
                 */
                if (GameManager.gameManager.ActiveScene != null && GameManager.gameManager.ActiveScene.IsStoryCopyScene())
                {
                    if (Singleton <ObjManager> .GetInstance().MainPlayer != null)
                    {
                        if (Singleton <ObjManager> .GetInstance().MainPlayer.AutoComabat)
                        {
                            float x = 0.0f, y = 0.0f, z = 0.0f;
                            if (GameManager.gameManager.ActiveScene.GetGuideDestination(ref x, ref z))
                            {
                                y = GameManager.gameManager.ActiveScene.GetTerrainHeight(new Vector3(x, 0.0f, z));
                                Singleton <ObjManager> .GetInstance().MainPlayer.MoveTo(new Vector3(x, y, z), null, 0.0f);
                            }
                        }
                    }
                }
                return;
            }
            //如果在野外场景攻击其它玩家return;
            if (CanAttackCharacter.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER)
            {
                if (GameManager.gameManager.ActiveScene.IsWildeScene())
                {
                    return;
                }
            }
            //设置为选中目标
            m_player.OnSelectTarget(CanAttackCharacter.gameObject, false);
            //距离不过 先跑过去
            float dis          = Vector3.Distance(m_player.Position, CanAttackCharacter.Position);
            float diffDistance = dis - skillRadius;
            m_player.CurUseSkillId = skillId;
            //需要向目标移动 则想目标移动
            if (diffDistance > 0 && skillBaseInfo.IsMoveToTarInAutoCombat == 1)
            {
                //move
                if (m_player.IsMoving == false && m_player.IsCanOperate_Move())
                {
                    m_player.MoveTo(CanAttackCharacter.Position, CanAttackCharacter.gameObject, skillRadius - 1.0f);
                    return;
                }
            }
            m_player.UseSkillOpt(skillId, null);
        }