Ejemplo n.º 1
0
    /// <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();
    }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 /// <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();
 }