Example #1
0
    public static void UpdateChallengeReward(GC_CHALLENGE_REWARD data)
    {
        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        if (mainPlayer != null && data.IsLose > 0)
        {
//            int nPlayerMaxHP = mainPlayer.BaseAttr.MaxHP;

            /*if (PlayerFrameLogic.Instance() != null && //TT8816
             *  GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_WUDAOZHIDIAN)
             * {
             *  PlayerFrameLogic.Instance().ChangeHP(0, nPlayerMaxHP);
             * }*/
        }

        // TT7092
        // if (data.IsLose != 1)
        ChallengeAutoShow = false;

        /*if (GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_WUDAOZHIDIAN)
         * {
         *  if (false == GameManager.gameManager.MissionManager.IsHaveMission(38))
         *  {
         *      ChallengeAutoShow = true;
         *  }
         * }*/

        ChallengeIsLose     = data.IsLose;
        ChallengeSpirit     = data.SpiritVal;
        ChallengeReputation = 0;
        if (data.HasReputationVal)
        {
            ChallengeReputation = data.ReputationVal;
        }
        //TT 4438 从竞技场退出后应该主动打开竞技场界面
        if (GameManager.gameManager.ActiveScene.IsCopyScene() == false) //不是副本
        {
            ActiveShowChallengeUI();
        }
        else
        {
            ActivityController.RequireOpenPVPTab();
            if (ChallengeIsLose == 0)
            {            //胜利
                ChallengeRewardLogic.ShowRewardUI((int)ChallegeRewardUIType.Challenge);
            }
            else
            {            //失败
                UIManager.ShowUI(UIInfo.FailRoot);
            }
        }
        //TT 4436 新需求 从竞技场中主动退出 在回到主场景时不再弹出竞技场结算界面
        //ChallengeRewardLogic.ShowRewardUI((int)ChallegeRewardUIType.Challenge);
    }
        public uint Execute(PacketDistributed ipacket)
        {
            GC_CHALLENGE_REWARD packet = (GC_CHALLENGE_REWARD )ipacket;

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