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

62 lines
1.7 KiB
C#

using UnityEngine.Scripting;
[Preserve]
public class NetPackageAddCompanion : NetPackage
{
public NetPackageAddCompanion Setup(int _npcEntityID, int _ownerID)
{
this.npcEntityID = _npcEntityID;
this.ownerID = _ownerID;
return this;
}
public override void read(PooledBinaryReader _reader)
{
this.npcEntityID = _reader.ReadInt32();
this.ownerID = _reader.ReadInt32();
}
public override void write(PooledBinaryWriter _writer)
{
base.write(_writer);
_writer.Write(this.npcEntityID);
_writer.Write(this.ownerID);
}
public override void ProcessPackage(World _world, GameManager _callbacks)
{
//Log.Out("NetPackageAddCompanion-ProcessPackage 1");
if (_world == null || !_world.IsRemote())
{
//Log.Out("NetPackageAddCompanion-ProcessPackage 2");
return;
}
EntityNPCRebirth npc = _world.GetEntity(this.npcEntityID) as EntityNPCRebirth;
if (npc != null)
{
//Log.Out("NetPackageAddCompanion-ProcessPackage 3, ownerID: " + ownerID);
EntityPlayerLocal primaryPlayer = GameManager.Instance.World.GetPrimaryPlayer();
if (primaryPlayer != null && ownerID == primaryPlayer.entityId)
{
//Log.Out("NetPackageAddCompanion-ProcessPackage 4");
npc.Buffs.SetCustomVar("$Leader", primaryPlayer.entityId);
npc.Buffs.SetCustomVar("$delayedPickup", 1f);
npc.LeaderUtils.AddCompanion();
}
}
}
public override int GetLength()
{
return 2;
}
private int npcEntityID;
private int ownerID;
}