98 lines
4.0 KiB
C#
98 lines
4.0 KiB
C#
using UnityEngine.Scripting;
|
|
|
|
[Preserve]
|
|
public class NetPackageVehicleUpdatePartRebirth : NetPackage
|
|
{
|
|
public NetPackageVehicleUpdatePartRebirth Setup(int _senderId, int _currentVehicleID, int _slotNumber, float _currentItemUseTimes, int _itemQuality, string _currentItemName)
|
|
{
|
|
//Log.Out("NetPackageVehicleUpdatePartRebirth-Setup START");
|
|
this.senderId = _senderId;
|
|
this.currentVehicleID = _currentVehicleID;
|
|
this.slotNumber = _slotNumber;
|
|
this.currentItemUseTimes = _currentItemUseTimes;
|
|
this.itemQuality = _itemQuality;
|
|
this.currentItemName = _currentItemName;
|
|
|
|
return this;
|
|
}
|
|
|
|
public override void read(PooledBinaryReader _br)
|
|
{
|
|
this.senderId = _br.ReadInt32();
|
|
this.currentVehicleID = _br.ReadInt32();
|
|
this.slotNumber = _br.ReadInt32();
|
|
this.currentItemUseTimes = _br.ReadSingle();
|
|
this.itemQuality = _br.ReadInt32();
|
|
this.currentItemName = _br.ReadString();
|
|
}
|
|
|
|
public override void write(PooledBinaryWriter _bw)
|
|
{
|
|
base.write(_bw);
|
|
_bw.Write(this.senderId);
|
|
_bw.Write(this.currentVehicleID);
|
|
_bw.Write(this.slotNumber);
|
|
_bw.Write(this.currentItemUseTimes);
|
|
_bw.Write(this.itemQuality);
|
|
_bw.Write(this.currentItemName);
|
|
}
|
|
|
|
public override void ProcessPackage(World _world, GameManager _callbacks)
|
|
{
|
|
//Log.Out("NetPackageVehicleUpdatePartRebirth-ProcessPackage START");
|
|
if (_world == null)
|
|
{
|
|
//Log.Out("NetPackageVehicleUpdatePartRebirth-ProcessPackage 1");
|
|
return;
|
|
}
|
|
EntityVehicleRebirth entityVehicle = GameManager.Instance.World.GetEntity(this.currentVehicleID) as EntityVehicleRebirth;
|
|
if (entityVehicle == null)
|
|
{
|
|
//Log.Out("NetPackageVehicleUpdatePartRebirth-ProcessPackage 2");
|
|
return;
|
|
}
|
|
|
|
if (currentItemName.Trim().Length > 0)
|
|
{
|
|
ItemValue vehiclePart = ItemClass.GetItem(currentItemName, false);
|
|
if (vehiclePart != null)
|
|
{
|
|
//Log.Out("NetPackageVehicleUpdatePartRebirth-ProcessPackage slotNumber: " + slotNumber);
|
|
//Log.Out("NetPackageVehicleUpdatePartRebirth-ProcessPackage currentItemUseTimes: " + currentItemUseTimes);
|
|
//Log.Out("NetPackageVehicleUpdatePartRebirth-ProcessPackage currentItemName: " + currentItemName);
|
|
vehiclePart.UseTimes = currentItemUseTimes;
|
|
vehiclePart.Quality = (ushort)this.itemQuality;
|
|
entityVehicle.itemValues[this.slotNumber] = vehiclePart;
|
|
|
|
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
|
|
{
|
|
//Log.Out("NetPackageVehicleUpdatePartRebirth-ProcessPackage 4");
|
|
SingletonMonoBehaviour<ConnectionManager>.Instance.SendPackage(NetPackageManager.GetPackage<NetPackageVehicleUpdatePartRebirth>().Setup(this.senderId, this.currentVehicleID, this.slotNumber, this.currentItemUseTimes, this.itemQuality, this.currentItemName), false, -1, this.senderId, -1, null, 192);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
entityVehicle.itemValues[this.slotNumber] = ItemValue.None;
|
|
|
|
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
|
|
{
|
|
//Log.Out("NetPackageVehicleUpdatePartRebirth-ProcessPackage 5");
|
|
SingletonMonoBehaviour<ConnectionManager>.Instance.SendPackage(NetPackageManager.GetPackage<NetPackageVehicleUpdatePartRebirth>().Setup(this.senderId, this.currentVehicleID, this.slotNumber, this.currentItemUseTimes, this.itemQuality, this.currentItemName), false, -1, this.senderId, -1, null, 192);
|
|
}
|
|
}
|
|
}
|
|
|
|
public override int GetLength()
|
|
{
|
|
return 10;
|
|
}
|
|
|
|
private int senderId;
|
|
private int currentVehicleID;
|
|
private int slotNumber;
|
|
private float currentItemUseTimes;
|
|
private int itemQuality;
|
|
private string currentItemName;
|
|
}
|