예제 #1
0
    public void UpdateSkillBarInfo(int nSkillIndex)
    {
        m_nSkillIndex = nSkillIndex;
        Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        if (_mainPlayer == null)
        {
            return;
        }
        if (m_nSkillIndex > 0 && m_nSkillIndex < _mainPlayer.OwnSkillInfo.Length)
        {
            int         nSkillId = _mainPlayer.OwnSkillInfo[m_nSkillIndex].SkillId;
            Tab_SkillEx _skillEx = TableManager.GetSkillExByID(nSkillId, 0);
            if (_skillEx != null)
            {
                Tab_SkillBase _skillBase = TableManager.GetSkillBaseByID(_skillEx.BaseId, 0);
                if (_skillBase != null)
                {
                    m_IconSprite.spriteName = _skillBase.Icon;
                    m_IconSprite.MakePixelPerfect();
                    m_IconSprite.gameObject.SetActive(true);
                }
            }
        }
    }
    //出售物品
    public void SaleItem(GameItem saleItem, int nItemCount, int nItemPrice)
    {
        Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        if (_mainPlayer == null)
        {
            return;
        }
        //校验物品
        if (ConsignSaleBag.isCanConsignSale(saleItem) == false)
        {
            return;
        }
        if (nItemCount <= 0 || nItemCount > saleItem.StackCount)
        {
            //提示 数量输入错误
            _mainPlayer.SendNoticMsg(false, "#{1691}");
            return;
        }
        if (nItemPrice < 2)
        {
            //提示 价格输入错误
            _mainPlayer.SendNoticMsg(false, "#{1692}");
            return;
        }
        //发包购买
        CG_CONSIGNSALEITEM salePak = (CG_CONSIGNSALEITEM)PacketDistributed.CreatePacket(MessageID.PACKET_CG_CONSIGNSALEITEM);

        salePak.SetItemguid(saleItem.Guid);
        salePak.SetItemcount(nItemCount);
        salePak.SetItemprice(nItemPrice);
        salePak.SetCurpage(m_nCurBuyPage);
        salePak.SendPacket();
    }
예제 #3
0
    void ShowComparePro(GameItem equip)
    {
        int nProfession = equip.GetProfessionRequire();

        if (0 <= nProfession && nProfession < (int)CharacterDefine.PROFESSION.MAX)
        {
            string         strProText = "";
            Obj_MainPlayer mainplayer = Singleton <ObjManager> .Instance.MainPlayer;
            if (mainplayer != null)
            {
                if (mainplayer.Profession == nProfession)
                {
                    strProText = "[FFFFCC]";
                }
                else
                {
                    strProText = "[E60012]";
                }
            }
            strProText            += Utils.GetProfessionNameByType(nProfession); //StrDictionary.GetClientDictionaryString("#{" + CharacterDefine.PROFESSION_DICNUM[nProfession].ToString() + "}");
            m_CompareProLabel.text = strProText;
        }
        else
        {
            m_CompareProLabel.text = "";
        }
    }
예제 #4
0
    //======================================================
    void _doingWhat(int indexArray, int skillId)
    {
        int index = _getSkillIndexIdByActivieyId(skillId);

        if (index == -1)
        {
            return;
        }

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

        if (rUser == null)
        {
            return;
        }

        if (indexArray < 0 || indexArray >= m_skillToggle.Length)
        {
            return;
        }

        if (m_skillToggle [indexArray].value)
        {
            rUser.SetAutoSelSkillID(index);
        }
        else
        {
            rUser.DelAutoSelSkillID(index);
        }

        AutoFightOK();
    }
예제 #5
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_MOUNT_DATA packet = (GC_MOUNT_DATA )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            int nObjServerID = packet.ObjServerID;
            int nMountID     = packet.MountID;

            int EnterSceneServerID = GameManager.gameManager.PlayerDataPool.EnterSceneCache.EnterSceneServerID;

            // Çг¡¾°»º´æ
            if (EnterSceneServerID == nObjServerID)
            {
                GameManager.gameManager.PlayerDataPool.EnterSceneCache.EnterSceneMountID = nMountID;
            }
            else
            {
                Obj_Character obj = Singleton <ObjManager> .GetInstance().FindObjCharacterInScene(nObjServerID);

                if (obj)
                {
                    if (obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER ||
                        obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER)
                    {
                        Obj_OtherPlayer Player = obj as Obj_OtherPlayer;
                        Player.ShowRideOnEffect = true;
                        Player.RideOrUnMount(nMountID);
                    }

                    else
                    {
                        if (nMountID == GlobeVar.INVALID_ID)
                        {
                            Obj_MainPlayer main = Singleton <ObjManager> .Instance.MainPlayer;
                            if (main != null)
                            {
                                main.RideOrUnMount(nMountID);
                            }
                        }
                    }
                }
                else
                {
                    if (nMountID == GlobeVar.INVALID_ID)
                    {
                        Obj_MainPlayer main = Singleton <ObjManager> .Instance.MainPlayer;
                        if (main != null)
                        {
                            main.RideOrUnMount(nMountID);
                        }
                    }
                }
            }

            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
예제 #6
0
    bool IsCanLevelUpSkill(int nSkillId)
    {
        Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        if (_mainPlayer == null)
        {
            return(false);
        }
        Tab_SkillLevelUp _skillLevUp = TableManager.GetSkillLevelUpByID(m_nCurSkillId, 0);

        if (_skillLevUp == null)
        {
            return(false);
        }
        if (_mainPlayer.Profession != _skillLevUp.Profession)
        {
            return(false);
        }
        if (_mainPlayer.BaseAttr.Level < _skillLevUp.Level)
        {
            return(false);
        }
        if (_mainPlayer.IsHaveSkill(_skillLevUp.NeedSkillId) == false)
        {
            return(false);
        }
        //真气不足
        if (PVPData.Power < _skillLevUp.NeedConsume)
        {
            return(false);
        }
        return(true);
    }
예제 #7
0
    /// <summary>
    /// 点击属性按钮
    /// </summary>
    public void AttrBtClick()
    {
        ClearGemsInEquips();
        ChooseTabButton(CONTENT_TYPE.CONTENT_TYPE_ATTR);
        m_LeftView.SetActive(true);
        m_AttrView.SetActive(true);
        m_TitleView.SetActive(false);

        if (m_LeftAttrView_02.activeInHierarchy)
        {
            m_CancelShowInfoBt.SetActive(true);
            m_ShowMoreInfoBt.SetActive(false);
            //隐藏预览模型
            GameManager.gameManager.ActiveScene.HideFakeObj();
        }
        else
        {
            GameManager.gameManager.ActiveScene.ShowFakeObj();
        }

        // 发包请求数据
        Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        if (_mainPlayer != null && m_bIsNeedUpdateAttr) //战斗力不相同时 才去重新发包请求最新数据
        {
            CG_ASK_ROLE_DATA askPak = (CG_ASK_ROLE_DATA)PacketDistributed.CreatePacket(MessageID.PACKET_CG_ASK_ROLE_DATA);
            askPak.SetUserguid(_mainPlayer.GUID);
            askPak.SendPacket();
            m_bIsNeedUpdateAttr = false;
        }
    }
예제 #8
0
    int FindCurLevelIndex()
    {
        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        int playerLevel = 0;

        if (mainPlayer != null)
        {
            playerLevel = mainPlayer.BaseAttr.Level;
        }

        int indexCount = 0;

        Tab_BiographyItem item = null;

        foreach (int key in TableManager.GetBiographyItem().Keys)
        {
            item = TableManager.GetBiographyItemByID(key, 0);
            if (item == null)
            {
                continue;
            }
            if (playerLevel <= item.EndLevel && playerLevel >= item.BeginLevel)
            {
                break;
            }

            indexCount++;
        }

        return(indexCount);
    }
예제 #9
0
    /// <summary>
    /// added by mawenbin
    /// 检查是否可以将MainPlayer传送到目标场景
    /// </summary>
    /// <param name="nSceneClassID">目标场景ID</param>
    /// <returns></returns>
    private bool CheckTeleportToScene(int nSceneClassID)
    {
        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        if (null == mainPlayer)
        {
            return(false);
        }

        //未到达过的场景不可传送
        if (!SceneData.ReachedScenes.Contains(nSceneClassID))
        {
            return(false);
        }

        //TODO 场景进入等级限制
        //Tab_SceneClass sceneClass = TableManager.GetSceneClassByID(nSceneClassID, 0);
        //if (sceneClass.LimitLevel > GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level)
        //{
        //    return false;
        //}

        //TODO 目标场景不能是监狱
        return(true);
    }
예제 #10
0
    /// <summary>
    /// 设置Item的数据
    /// </summary>
    /// <param name="belleMatrixInfoWindow"></param>
    /// <param name="i"></param>
    /// <param name="belleMatrix"></param>
    public void SetData(BelleMatrixInfoWindow belleMatrixInfoWindow, int i, Tab_BelleMatrix belleMatrix)
    {
        if (null == belleMatrix)
        {
            return;
        }
        m_parentWindow = belleMatrixInfoWindow;

        gameObject.name = i.ToString();

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

        if (null != mainPlayer && belleMatrix.OpenLevel <= mainPlayer.BaseAttr.Level)
        {
            m_matrixName.text = belleMatrix.Name;
        }
        else
        {
            m_matrixName.text  = belleMatrix.OpenLevel + GCGame.Utils.GetDicByID(5057);
            m_matrixName.color = m_ColorDisable;
            m_matrixIcon.color = m_ColorDisable;
        }

        SetClickHighLight(false);

        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////表格加图标列
        //阵法图标
        m_matrixIcon.spriteName = belleMatrix.Icon;
    }
예제 #11
0
        // 显示隐藏  翅膀
        public void ShowHideFlyWing(bool isShowHide)
        {
            Obj_MainPlayer user = Singleton <ObjManager> .GetInstance().MainPlayer;

            if (isShowHide)
            {
                // 显示幻化的
                if (m_CurDreamFlyWingId != -1)
                {
                    if (user != null)
                    {
                        user.ShowHideFlyWing(m_CurDreamFlyWingId, isShowHide);
                    }
                }
                else
                {
                    // 当前装备的
                    if (user != null)
                    {
                        user.ShowHideFlyWing(m_CurEquipFlyWingId, isShowHide);
                    }
                }
                m_IsShowFlyWing = true;
            }

            else
            {
                if (user != null)
                {
                    user.ShowHideFlyWing(-1, false);
                }
                m_IsShowFlyWing = false;
            }
        }
예제 #12
0
    void ShareItem()
    {
        Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        if (_mainPlayer == null)
        {
            return;
        }
        float fElspeTime = Time.time - GameManager.gameManager.PlayerDataPool.LastConsignShareTime;
        //加一个操作CD
        int nMaxCDTime = 30;

        if (fElspeTime < nMaxCDTime)
        {
            int nRemainTime = (int)(nMaxCDTime - fElspeTime);
            //吆喝操作过于频繁,距离下次可吆喝时间还剩{0}秒
            _mainPlayer.SendNoticMsg(false, "#{2749}", nRemainTime + 1);
            return;
        }

        string strAdditionShareMsg = StrDictionary.GetClientDictionaryString("#{2743}",
                                                                             m_MyItemInfo.ItemInfo.StackCount, m_MyItemInfo.ItemInfo.GetName(), m_MyItemInfo.Price);

        if (m_MyItemInfo.ItemInfo.IsEquipMent())
        {
            ShareTargetChooseLogic.InitEquipShare(m_MyItemInfo.ItemInfo, strAdditionShareMsg, true);
        }
        else
        {
            ShareTargetChooseLogic.InitItemShare(m_MyItemInfo.ItemInfo, strAdditionShareMsg, true);
        }
    }
예제 #13
0
        public static void ChangeMainPLayerObjToNormal()
        {
            Obj_MainPlayer main = Singleton <ObjManager> .Instance.MainPlayer;

            if (main == null)
            {
                LogModule.ErrorLog("ReloadMainPLayerObj called burt Singleton<ObjManager>.Instance.MainPlayer is null!");
                return;
            }
            Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(main.ModelVisualID, 0);

            if (tabItemVisual == null)
            {
                tabItemVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0);
                if (tabItemVisual == null)
                {
                    return;
                }
            }

            int nCharmodelID = main.GetCharModelID(tabItemVisual, main.Profession);

            Tab_CharModel charModel = TableManager.GetCharModelByID(nCharmodelID, 0);

            if (charModel == null)
            {
                return;
            }

            main.AnimationFilePath = charModel.AnimPath;
            main.ModelID           = nCharmodelID;
            LoadModelToRoot(nCharmodelID, EResourceType.CharacterModel,
                            LoadModelComplete, main.gameObject, charModel, false);
        }
예제 #14
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_PLAY_MODELSOTRY packet = (GC_PLAY_MODELSOTRY)ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            if (packet.ModelStoryID == GlobeVar.YanMenGuan_ModelStoryID)
            {
                Obj_MainPlayer mainplayer = Singleton <ObjManager> .Instance.MainPlayer;
                if (mainplayer == null)
                {
                    return((uint)PACKET_EXE.PACKET_EXE_ERROR);
                }
                //mainplayer.CameraController.InitCameraTrack(mainplayer.Position, curBoss.Position);
                mainplayer.ModelStoryID = packet.ModelStoryID;

                mainplayer.StopMove();
                Vector3 posTarget        = new Vector3(13.9f, 0, 27.4f);
                Vector3 posTargetTerrain = ActiveScene.GetTerrainPosition(posTarget);
                mainplayer.MoveTo(posTargetTerrain);
            }
            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
    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;
        }
    }
예제 #16
0
    // 回血NPC对话相关
    void DoRecover()
    {
        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;

        if (mainPlayer == null)
        {
            return;
        }
        int nCurHP = mainPlayer.BaseAttr.HP;
        int nMaxHp = mainPlayer.BaseAttr.MaxHP;
        int nCurMP = mainPlayer.BaseAttr.MP;
        int nMaxMP = mainPlayer.BaseAttr.MaxMP;

        if (nCurHP >= nMaxHp && nCurMP >= nMaxMP)
        {
            mainPlayer.SendNoticMsg(false, "#{3291}");
            return;
        }
        else
        {
            int nTempNeedMoney = ((nMaxHp - nCurHP) * 7 + (nMaxMP - nCurMP) * 77) * 115;
            int nNeedMoney     = nTempNeedMoney / 100000 + (nTempNeedMoney > 0 ? 1 : 0);
            if (nNeedMoney < 0)
            {
                return;
            }

            string strTip = StrDictionary.GetClientDictionaryString("#{3292}", nNeedMoney);
            MessageBoxLogic.OpenOKCancelBox(strTip, null, OnRecoverOk, OnCloseClick);
        }
    }
    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();
        }
    }
예제 #18
0
    public void OnLevelChange()
    {
        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;

        if (null == mainPlayer)
        {
            return;
        }
        Tab_LevelUp curTabLevelup = TableManager.GetLevelUpByID(mainPlayer.BaseAttr.Level, 0);

        if (null == curTabLevelup)
        {
            return;
        }

        m_MaxExp = curTabLevelup.ExpNeed;
        m_CurExp = mainPlayer.BaseAttr.Exp;
        if (m_MaxExp > 0)
        {
            m_ExpProgress.value = (float)m_CurExp / (float)m_MaxExp;
        }
        m_ExpLabel.text = m_CurExp.ToString() + "/" + m_MaxExp.ToString();
        //m_ExpLabel.text = Utils.ConvertLargeNumToString(m_CurExp) + "/" + Utils.ConvertLargeNumToString(m_MaxExp);
        UpdateOffLineExp();
    }
예제 #19
0
    public void SetData(BelleMatrixWindow belleMatrixWindow, int id, Tab_BelleMatrix tabMatrix)
    {
        if (null == tabMatrix)
        {
            return;
        }

        parentWindow    = belleMatrixWindow;
        gameObject.name = id.ToString();

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

        if (null != mainPlayer && tabMatrix.OpenLevel <= mainPlayer.BaseAttr.Level)
        {
            labelName.text = tabMatrix.Name;
            openFlag.SetActive(false);
            UpdateActiveRedTip();
        }
        else
        {
            labelName.text = tabMatrix.OpenLevel + GCGame.Utils.GetDicByID(5057);
            openFlag.SetActive(true);
        }
        matrixPic.spriteName = tabMatrix.Icon;

        EnableHightLight(false);
        UpdateData();
    }
예제 #20
0
    void InitPlayerExp()
    {
        Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;

        if (null == mainPlayer)
        {
            return;
        }

        m_PlayerLevelBuffer = mainPlayer.BaseAttr.Level;
        m_CurExp            = mainPlayer.BaseAttr.Exp;

        Tab_LevelUp curTabLevelup = TableManager.GetLevelUpByID(m_PlayerLevelBuffer, 0);

        if (null == curTabLevelup)
        {
            return;
        }
        m_MaxExp = curTabLevelup.ExpNeed;

        if (m_MaxExp != 0)
        {
            m_ExpProgress.value = (float)m_CurExp / (float)m_MaxExp;
            m_CurExpBuffer      = m_CurExp;
            m_MaxExpBuffer      = m_MaxExp;
            m_ExpLabel.text     = m_CurExp.ToString() + "/" + m_MaxExp.ToString();
            //m_ExpLabel.text = Utils.ConvertLargeNumToString(m_CurExp) + "/" + Utils.ConvertLargeNumToString(m_MaxExp);
            //m_bExpAni = true;
        }
        UpdateOffLineProgress();
    }
예제 #21
0
    int _getSkillIndexIdByActivieyId(int id)
    {
        Tab_SkillEx skillEx = TableManager.GetSkillExByID(id, 0);

        if (skillEx == null)
        {
            return(-1);
        }

        Tab_SkillBase skillBase = TableManager.GetSkillBaseByID(skillEx.BaseId, 0);

        if (skillBase == null)
        {
            return(-1);
        }

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

        if (rUser == null)
        {
            return(-1);
        }

        for (int skillIndex = 0; skillIndex < rUser.OwnSkillInfo.Length; skillIndex++)
        {
            if (rUser.OwnSkillInfo[skillIndex].SkillId == skillEx.SkillExID)
            {
                return(skillIndex);
            }
        }

        return(-1);
    }
예제 #22
0
    void OnKillModleClick()
    {
        if (m_nNewPlayerGuideIndex == 1)
        {
            m_nNewPlayerGuideIndex = -1;
            NewPlayerGuidLogic.CloseWindow();
        }

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

        if (_mainPlayer == null)
        {
            return;
        }
        if (_mainPlayer.BaseAttr.Level < 30)
        {
            _mainPlayer.SendNoticMsg(false, "#{1111}");
            return;
        }
        if (_mainPlayer.PkModle == (int)CharacterDefine.PKMODLE.KILL && m_nPKCDTime < 0)
        {
            _mainPlayer.SendNoticMsg(false, "#{1107}");
            return;
        }
        //弹出确认框
        string _strNotice = StrDictionary.GetClientDictionaryString("#{1106}");

        MessageBoxLogic.OpenOKCancelBox(_strNotice, "", SwitchKillModeOnOk, SwitchKillModeOnCancel);
        m_IsModeClick = true;
    }
예제 #23
0
 private void OnPinch(PinchGesture gesture)
 {
     if (JoyStickLogic.Instance() != null && JoyStickLogic.Instance().FingerID != -1)
     {
         return;
     }
     if (gesture.Phase == ContinuousGesturePhase.Started)
     {
         Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;
         if (null != mainPlayer)
         {
             if (Singleton <ObjManager> .GetInstance().MainPlayer.IsCanOperate_Move())
             {
                 Singleton <ObjManager> .GetInstance().MainPlayer.StopMove();
             }
         }
         m_bPinching = true;
     }
     else if (gesture.Phase == ContinuousGesturePhase.Updated)
     {
         if (Cutscene.CutsceneManager.Instance.IsPlayingCutscene == false)
         {
             CameraManager.Instance.UpdateDistance(gesture.Delta);
         }
     }
     else
     {
         m_bPinching = false;
     }
 }
예제 #24
0
    void OnEnable()
    {
        m_Instance = this;
        if (m_LeftLabelText == "")
        {
            m_LeftLabelText  = m_LeftLabel.text;
            m_RightLabelText = m_RightLabel.text;
        }
        Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        if (_mainPlayer)
        {
            //发包请求信息
            CG_ASK_PKINFO pkinfo = (CG_ASK_PKINFO)PacketDistributed.CreatePacket(MessageID.PACKET_CG_ASK_PKINFO);
            pkinfo.SetObjId(_mainPlayer.ServerID);
            pkinfo.SendPacket();
        }
        SwitchBtnState();

        Check_NewPlayerGuide();

#if BOBJOYSTICK
        UIRootJoyControllerHelper.Instance.setState(UIRootJoyControllerHelper.JoyUIState.PK_UI);
#endif
    }
    //购买物品
    public void BuyItem()
    {
        Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

        if (_mainPlayer == null)
        {
            return;
        }
        if (m_nSelBuyIndex >= 0 && m_nSelBuyIndex < m_buyItemInfo.Count)
        {
            //金钱是否足够
            int nMoney = GameManager.gameManager.PlayerDataPool.Money.GetMoney_YuanBao();
            if (nMoney < m_buyItemInfo[m_nSelBuyIndex].Price)
            {
                // 元宝不足
                MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{1848}"), "", BuyChargeOK, BuyChargeCancel);
                return;
            }
            //发包购买
            CG_BUY_CONSIGNSALEITEMINFO buyPak = (CG_BUY_CONSIGNSALEITEMINFO)PacketDistributed.CreatePacket(MessageID.PACKET_CG_BUY_CONSIGNSALEITEMINFO);
            buyPak.SetSearchclass(m_nSearchClass);
            buyPak.SetSearchsubclass(m_nSearchSubClass);
            buyPak.SetSearchquality(m_nSearchQuality);
            buyPak.SetSortclass(m_nSortClass);
            buyPak.SetSorttype(m_nSortType);
            buyPak.SetKeyword(m_keyWord);
            buyPak.SetPage(m_nCurBuyPage);
            buyPak.SetItemguid(m_buyItemInfo[m_nSelBuyIndex].ItemInfo.Guid);
            buyPak.SendPacket();
        }
    }
    //时间到了则循环一次
    IEnumerator DoSceneEffectLoop()
    {
        while (true)
        {
            yield return(new WaitForSeconds(m_LoopDeltaTime));

            //播放特效
            ParticleSystem[] particleSystemArray = gameObject.GetComponentsInChildren <ParticleSystem>();

            for (int i = 0; i < particleSystemArray.Length; ++i)
            {
                if (null != particleSystemArray[i])
                {
                    particleSystemArray[i].Play();
                }
            }

            //播放声音
            if (m_SoundID >= 0 && null != GameManager.gameManager.SoundManager)
            {
                Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

                if (_mainPlayer)
                {
                    GameManager.gameManager.SoundManager.PlaySoundEffectAtPos2(m_SoundID, gameObject.transform.localPosition, _mainPlayer.Position);
                }
            }
        }
    }
        public uint Execute(PacketDistributed ipacket)
        {
            GC_VILLAIN_MONSTER_INFO packet = (GC_VILLAIN_MONSTER_INFO)ipacket;

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

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

            if (mainplayer == null)
            {
                return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
            }
            if (!mainplayer.IsOpenAutoCombat)
            {
                return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
            }
            if (packet.HasMonsterPosZ && packet.HasMonsterPosX)
            {
                mainplayer.SetFourVillainAutoCombatTargetPos(packet.MonsterPosX / 100.0f, packet.MonsterPosZ / 100.0f);
            }
            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
예제 #28
0
    public void OnPowerUp()
    {
        // 显示体检界面
        if (GameManager.gameManager.ActiveScene.IsCopyScene() == false)         //不是副本
        {
            return;
        }
        else
        {
            PVPData.PowerUpAutoShow = true;
            //如果玩家已经死亡,先向服务器发送一个复活消息。
            Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

            if (_mainPlayer != null && _mainPlayer.IsDie())
            {
                SendPlayerReliveMsg();
            }
        }

        if (m_bIsNeedSendLevelCopySceneMsg)
        {
            // 离开副本
            SendLeaveCopySceneMsg();
        }

        // 关闭失败界面
        //gameObject.SetActive(false);
    }
예제 #29
0
    public static void RechareStateUpdate(bool bEnable)
    {
        if (!bEnable)
        {
            Obj_MainPlayer mainPlayer = Singleton <ObjManager> .Instance.MainPlayer;
            if (null != mainPlayer)
            {
                mainPlayer.SendNoticMsg(false, "#{2136}");
            }
            return;
        }
//        if (Application.platform == RuntimePlatform.Android)
//        {
//            if (PlatformHelper.IsChannelTW())
//            {
//                PlatformHelper.MakePay();
//                return;
//            }
//        }
        if (Application.platform == RuntimePlatform.Android)
        {
            PlatformHelper.MakePay();
        }
        else
        {
            UIManager.ShowUI(UIInfo.Recharge);
        }
    }
예제 #30
0
    /// <summary>
    /// 检查是否可以在密聊频道发送消息
    /// </summary>
    bool CheckIsCanSendTell()
    {
        //密聊频道检测一下当前是否有密聊对象
        if (CurChannelType != ChatInfoLogic.CHANNEL_TYPE.CHAT_TYPE_TELL)
        {
            return(true);
        }
        UInt64 tellGuid = GameManager.gameManager.PlayerDataPool.LastTellGUID;
        String tellName = GameManager.gameManager.PlayerDataPool.LastTellName;

        if (tellGuid == GlobeVar.INVALID_GUID || tellName == "")
        {
            Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

            if (_mainPlayer == null)
            {
                LogModule.DebugLog("_mainPlayer is Null");
                return(false);
            }

            _mainPlayer.SendNoticMsg(false, "#{11166}");
            return(false);
        }

        return(true);
    }