Пример #1
0
        private void OnSyncPlayerStateInfo(KProtoBuf buf)
        {
            S2C_SYNC_PLAYER_STATE_INFO respond = buf as S2C_SYNC_PLAYER_STATE_INFO;
            MajorPlayer majorPlayer            = PlayerManager.GetInstance().MajorPlayer;

            majorPlayer.uJob       = respond.uJob;
            majorPlayer.vipLevel   = respond.byVipLevel;
            majorPlayer.vipExp     = respond.nVIPExp;
            majorPlayer.vipEndTime = respond.nVIPEndTime;
            majorPlayer.level      = respond.byLevel;
            majorPlayer.Exp        = respond.nExp;

            KPlayerLevelExpSetting playerLevelExpSetting = KConfigFileManager.GetInstance().playerLevelSetting.getData((majorPlayer.level + 1).ToString());

            majorPlayer.maxExp = playerLevelExpSetting.Exp;
        }
Пример #2
0
        public byte GetPlayerLevelByExp(uint nExp)
        {
            byte byLevel = 0;

            if (m_playerExpToLevelDictionary.TryGetValue(nExp, out byLevel))
            {
                return(byLevel);
            }

            uint nLastExp = 0;

            for (byLevel = 1; byLevel <= m_nMaxLevel; ++byLevel)
            {
                KPlayerLevelExpSetting playerLevelExpSetting = KConfigFileManager.GetInstance().playerLevelSetting.getData(byLevel.ToString());
                if (playerLevelExpSetting.Exp >= nExp && nExp > nLastExp)
                {
                    return((byte)(byLevel - 1));
                }

                nLastExp = playerLevelExpSetting.Exp;
            }
            return(0);
        }
Пример #3
0
        private void OnRoleUpdateLevel(KProtoBuf buf)
        {
            S2C_UPDATE_LEVEL respond     = buf as S2C_UPDATE_LEVEL;
            MajorPlayer      majorPlayer = PlayerManager.GetInstance().MajorPlayer;

            byte level = (byte)respond.nlevel;

            if (level != majorPlayer.level)
            {
                majorPlayer.level = level;
                majorPlayer.Exp   = 0;
                KPlayerLevelExpSetting playerLevelExpSetting = KConfigFileManager.GetInstance().playerLevelSetting.getData((majorPlayer.level + 1).ToString());
                majorPlayer.maxExp = playerLevelExpSetting.Exp;
                if (null != SceneLogic.GetInstance().MainHero)
                {
                    AssetLoader.GetInstance().Load(URLUtil.GetEffectPath("effect_levelup"), LoadLevelUpComplete, AssetType.BINARY);

                    //effect_levelup
                    //SceneLogic.GetInstance().MainHero.TipsCmp.CreateTip( new Vector3(0,SceneLogic.GetInstance().MainHero.heroSetting.TipPos0,0), "+" + respond.addExp, "ExpFont","effect_ui_shuzitanchu_putong.res");
                }
                EventDispatcher.GameWorld.Dispath(ControllerCommand.PLAYER_LEVEL_UP, level);
            }
        }