public static CreatureInfo ToCreatureInfo(this PRoleAttr attr, CreatureInfo info)
    {
        if (attr == null)
        {
            return(info);
        }

        info.strength              = (int)attr.power[0];
        info.artifice              = (int)attr.tenacious[0];
        info.vitality              = (int)attr.energy[0];
        info.maxHealth             = (int)attr.maxHp[0];
        info.health                = info.maxHealth;
        info.attack                = (int)attr.attack[0];
        info.offAttack             = (int)attr.gunAttack[0];
        info.defense               = (int)attr.defense[0];
        info.maxRage               = attr.maxMp[0];
        info.critMul               = attr.knock[0];
        info.crit                  = attr.knockRate[0];
        info.resilience            = attr.artifice[0];
        info.attackSpeed           = attr.attackSpeed[0];
        info.moveSpeed             = attr.moveSpeed[0];
        info.regenRage             = attr.angerSec[0];
        info.firm                  = (int)attr.bone[0];
        info.brutality             = (int)attr.brutal[0];
        info.elementAttack         = (int)attr.elementAttack[0];
        info.elementDefenseWind    = (int)attr.elementDefenseWind[0];
        info.elementDefenseFire    = (int)attr.elementDefenseFire[0];
        info.elementDefenseWater   = (int)attr.elementDefenseWater[0];
        info.elementDefenseThunder = (int)attr.elementDefenseThunder[0];
        info.elementDefenseIce     = (int)attr.elementDefenseIce[0];

        return(info);
    }
Beispiel #2
0
    public void ResetRobotAttribute(PRoleAttr roleAttrs, PFashion fashion = null)
    {
        CreatureInfo originalInfo = ConfigManager.Get <CreatureInfo>(configID);

        if (originalInfo == null)
        {
            Logger.LogError("configID = {0} connot be loaded,please check out!!", configID);
            return;
        }

        CreatureInfo info = roleAttrs.ToCreatureInfo(originalInfo.Clone <CreatureInfo>());

        //如果有时装的话,刷新武器数据
        if (fashion != null)
        {
            PropItemInfo item = ConfigManager.Get <PropItemInfo>(fashion.weapon);
            if (item != null)
            {
                info.weaponID     = item.subType;
                info.weaponItemID = item.ID;
            }

            item = ConfigManager.Get <PropItemInfo>(fashion.gun);
            if (item != null)
            {
                info.offWeaponID     = item.subType;
                info.offWeaponItemID = item.ID;
            }
        }
        UpdateConfig(info);
    }
Beispiel #3
0
    // 解析玩家数据
    public void Deserialize(PRoleAttr data)
    {
        EntityID     = data.roleId;
        RoleConfigID = data.roleCfgId;
        RoleName     = data.roleName;
        Sex          = (int)data.sex;
        Level        = data.level;
        Exp          = data.xiuwei;
        VipLevel     = data.vipLevel;
        BattleFeats  = data.battleFeat;

        EventDispatcher.TriggerEvent(EventID.EVENT_UI_MAIN_REFRESH_VALUE);

        UIManager.Instance.RefreshWindow <UINewBagView>();
    }
Beispiel #4
0
        private void UpdatePlayerInfo()
        {
            if (Singleton <RoleMode> .Instance.otherAttr.Count < 1)
            {
                return;
            }

            PRoleAttr playerAttr = Singleton <RoleMode> .Instance.otherAttr[0];

            roleJob       = playerAttr.job;
            labLevel.text = "Lv." + playerAttr.level;
            labName.text  = playerAttr.name;
            labForce.text = LanguageManager.GetWord("Goods.FightPoint") + ": " + playerAttr.attr.fightPoint;

            ShowModel();
        }
Beispiel #5
0
        /// <summary>
        ///     获取角色属性信息
        /// </summary>
        /// <param name="data">Data.</param>
        public void Fun_3_1(INetData data)
        {
            Log.info(this, "-Fun_3_1()获取人物详细属性");
            var roleInfoMsg = new RoleInfoMsg_3_1();

            roleInfoMsg.read(data.GetMemoryStream());
            PRoleAttr roleAttr = roleInfoMsg.role;

            MeVo.instance.Id    = roleAttr.id;
            MeVo.instance.Name  = roleAttr.name;
            MeVo.instance.sex   = roleAttr.sex;
            MeVo.instance.Level = roleAttr.level;
            MeVo.instance.job   = roleAttr.job;

            //人物属性
            MeVo.instance.exp     = roleAttr.exp;
            MeVo.instance.expFull = roleAttr.expFull;
            MeVo.instance.vip     = roleAttr.vip;
            //Log.error(this, "Fun_3_1 has been called! " + MeVo.instance.vip.ToString());
            MeVo.instance.nation         = roleAttr.nation;
            MeVo.instance.diam           = roleAttr.gold;
            MeVo.instance.diamond        = roleAttr.diam;
            MeVo.instance.bindingDiamond = roleAttr.diamBind;
            MeVo.instance.vigour         = roleAttr.vigour;
            MeVo.instance.vigourFull     = roleAttr.vigourFull;
            MeVo.instance.hasCombine     = roleAttr.hasCombine;
            MeVo.instance.customFace     = roleAttr.customFace;
            MeVo.instance.titleList      = roleAttr.titleList;
            //MeVo.instance.fightPoint = roleAttr.fightpoint;
            MeVo.instance.repu = roleAttr.repu;

            if (MeVo.instance.guildId != roleAttr.guildId)
            {
                MeVo.instance.guildId   = roleAttr.guildId;
                MeVo.instance.guildName = roleAttr.guildName;
                Singleton <GuildMode> .Instance.NotifyGuildIdChanged();
            }

            //人物基础信息
            PBaseAttr baseAttr = roleAttr.attr;

            MeVo.instance.Str       = baseAttr.str;
            MeVo.instance.Agi       = baseAttr.agi;
            MeVo.instance.Phy       = baseAttr.phy;
            MeVo.instance.Wit       = baseAttr.wit;
            MeVo.instance.CurHp     = baseAttr.hpCur;
            MeVo.instance.Hp        = baseAttr.hpFull;
            MeVo.instance.CurMp     = baseAttr.mpCur;
            MeVo.instance.Mp        = baseAttr.mpFull;
            MeVo.instance.AttPMin   = baseAttr.attPMin;
            MeVo.instance.AttPMax   = baseAttr.attPMax;
            MeVo.instance.AttMMin   = baseAttr.attMMin;
            MeVo.instance.AttMMax   = baseAttr.attMMax;
            MeVo.instance.DefP      = baseAttr.defP;
            MeVo.instance.DefM      = baseAttr.defM;
            MeVo.instance.Hit       = baseAttr.hit;
            MeVo.instance.Dodge     = (int)baseAttr.dodge;
            MeVo.instance.Crit      = baseAttr.crit;
            MeVo.instance.CritRatio = baseAttr.critRatio;
            MeVo.instance.Flex      = baseAttr.flex;
            MeVo.instance.HurtRe    = baseAttr.hurtRe;
            MeVo.instance.Speed     = baseAttr.speed;
            MeVo.instance.Luck      = baseAttr.luck;

            MeVo.instance.DataUpdate(0);
            Log.info(this, "-Fun_3_1(),获取角色buff");
            //Singleton<RoleMode>.Instance.RequestBuffList();

            if (Singleton <MainTopLeftView> .Instance.labVip)
            {
                Singleton <MainTopLeftView> .Instance.labVip.text = MeVo.instance.vip.ToString();
            }
            //开始登陆流程
//			Singleton<LoginMode>.Instance.getRoleList(Singleton<LoginMode>.Instance.platformName, Singleton<LoginMode>.Instance.passwordmName);
        }
 public void read(MemoryStream msdata)
 {
     code = proto_util.readUShort(msdata);
     PRoleAttr.readLoop(msdata, role);
     PGoods.readLoop(msdata, goodsList);
 }
Beispiel #7
0
    private void OnMsgAdjustPlayerLevel(byte[] buffer)
    {
        PRoleAttr data = Net.Deserialize <PRoleAttr>(buffer);

        UserManager.Instance.Deserialize(data);
    }
 protected override void OnGameDataReset()
 {
     base.OnGameDataReset();
     m_attrInfo = null;
     isRead     = false;
 }