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; }
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); }
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); } }