Files
7d2dXG/Mods/zzz_REBIRTH__Utils/Scripts/Network/NetPackageVehicleUpdatePartRebirth.cs
Nathaniel Cosford e06f2bd282 Add All Mods
2025-05-29 23:33:28 +09:30

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;
}