25 lines
742 B
C#
Raw Normal View History

2022-03-14 00:51:25 -07:00
using Mirror;
using QSB.Messaging;
using QSB.WorldSync;
namespace QSB.Utility.LinkedWorldObject;
/// <summary>
/// sent from the host to a non-host
/// telling a world object and network behaviour to link
/// </summary>
public class LinkMessage : QSBMessage<(int ObjectId, uint NetId)>
{
public LinkMessage(IWorldObject worldObject, NetworkBehaviour networkBehaviour) :
2022-03-14 00:51:25 -07:00
base((worldObject.ObjectId, networkBehaviour.netId)) { }
public override void OnReceiveRemote()
{
var worldObject = Data.ObjectId.GetWorldObject<ILinkedWorldObject<NetworkBehaviour>>();
var identity = NetworkClient.spawned[Data.NetId];
var networkBehaviour = identity.GetComponent<ILinkedNetworkBehaviour>();
2022-03-14 00:51:25 -07:00
worldObject.LinkTo(networkBehaviour);
2022-03-14 00:51:25 -07:00
}
}