/// <summary> /// 骑乘状态或者坐骑装备变化(其他人) /// </summary> /// <param name="_msg"></param> public void Update(scene_ply _msg) { //Debug.Log("mountID:" + _msg.ride_type + ",Skin:" + _msg.currskin + ",ride:" + _msg.ride_state + " ,ridelev : " + _msg.ride_lev); bool changeRide = (_msg.ride_state == (byte)1) != serverData.isRiding; bool changeModel = (serverData.curChangeId != _msg.currskin) || (serverData.configID != _msg.ride_type); { serverData.configID = (int)_msg.ride_type; } if (_msg.currskin != 0) { serverData.configID = (int)_msg.currskin; } serverData.isRiding = _msg.ride_state == (byte)1; serverData.lev = _msg.ride_lev; if (changeRide) { if (OnRideStateUpdate != null) { OnRideStateUpdate(serverData.isRiding); } if (ownerInfo.OnMountRideStateUpdate != null) { ownerInfo.OnMountRideStateUpdate(serverData.isRiding, true); } } if (changeModel) { ownerInfo.UpdateMount(this); } UpdateMountEffect(); }
public void Update(scene_ply _data) { IsAlive = _data.hp > 0; UpdateName(_data.name); //放在serverData.Update(_data);之前 UpdateGuildName(_data.guildName); //放在serverData.Update(_data);之前 serverData.Update(_data); serverData.equipTypeList.Clear(); //更新移动速度 UpdateMoveSpeed(); //强化特效更新 UpdateStrengEffect(_data.strenthen_min_lev); //坐骑更新 if (curMountInfo == null) { if (_data.ride_type != 0) { curMountInfo = new MountInfo(_data, this); UpdateMount(curMountInfo); } } else { curMountInfo.Update(_data); } //法宝更新 if (_data.magic_weapon_id > 0) { RefineRef rr = ConfigMng.Instance.GetRefineRef(_data.magic_weapon_id, _data.magic_strength_lev, _data.magic_strength_star); if (rr != null) { serverData.magicWeaponID = rr.model; if (GameCenter.systemSettingMng.OtherPlayerMagic) { serverData.equipTypeList.Add(rr.model); } } } //翅膀更新 if (_data.wing_id > 0) { WingRef data = ConfigMng.Instance.GetWingRef(_data.wing_id, _data.wing_lev); if (data != null) { serverData.wingID = data.itemui; if (GameCenter.systemSettingMng.OtherPlayerWing) { serverData.equipTypeList.Add(data.itemui); } } } for (int i = 0, max = _data.model_clothes_id.Count; i < max; i++) { serverData.equipTypeList.Add(_data.model_clothes_id[i]); } ProcessServerData(serverData); }
/// <summary> /// 其他玩家的坐骑构造 /// </summary> /// <param name="_msg"></param> public MountInfo(scene_ply _msg, PlayerBaseInfo _belongto) { //Debug.Log(" MountInfo " + " rideType : " + _msg.ride_type + " ,rideState : " + _msg.ride_state + " , skin : " + _msg.currskin + " , ridelev : " + _msg.ride_lev); ownerInfo = _belongto; serverData = new MountData(); serverData.configID = (int)_msg.ride_type; if (_msg.currskin != 0) { serverData.configID = (int)_msg.currskin; } serverData.isRiding = _msg.ride_state == (byte)1; serverData.lev = _msg.ride_lev; if (OnRideStateUpdate != null) { OnRideStateUpdate(serverData.isRiding); } if (ownerInfo.OnMountRideStateUpdate != null) { ownerInfo.OnMountRideStateUpdate(serverData.isRiding, true); } UpdateMountEffect(); }