コード例 #1
0
        public short GetTalentLevel(TalentMarkId id)
        {
            TalentData ret;

            Talents.TryGetValue(id, out ret);
            return(ret.Level);
        }
コード例 #2
0
        public void AddExp(TalentMarkId talant, uint exp, uint bonusExp = 0)
        {
            var talantState = _mPlayer.Data.Talents[talant];

            if (talantState.Level >= CharsMgr.MaxLevel)
            {
                return;
            }
            if (CalculateTalentLevel(ref talantState, exp + bonusExp))
            {
                UpdateBase();
                _mPlayer.Player.Rpc(4, _mPlayer.Data.SerTalents);
                _mPlayer.Player.Rpc(3, new TalentNetData((uint)talant, talantState.Exp, (uint)talantState.Level));
                _view.Rpc <Int16Serializer>(4, 53, RpcMode.AllUnordered, _mPlayer.Char.Level);
            }
            else
            {
                _mPlayer.Player.Rpc(2, new TalentNetData((uint)talant, exp, bonusExp));
            }
            _mPlayer.Data.Talents[talant] = talantState;
        }