Example #1
0
    public void PopulateComponents()
    {
        if (identity != null)
        {
            identity.attachedComponents = new List <IReceivesPacket <MeshPacket> >();
            identity.attachedComponents.AddRange(gameObject.GetComponentsInChildren <IReceivesPacket <MeshPacket> >(true));


            foreach (IReceivesPacket <MeshPacket> c in identity.attachedComponents)
            {
                Debug.Log("Component: " + c.GetType());
                if (c is INetworked <MeshNetworkIdentity> )
                {
                    INetworked <MeshNetworkIdentity> networked = c as INetworked <MeshNetworkIdentity>;
                    networked.SetIdentity(identity);
                    //Debug.Log("Setting identity with objectID = " + identity.GetObjectID());
                }
                else
                {
                    Debug.LogError("An attached component does not support the INetworked interface!");
                }
            }
        }
        else
        {
            Debug.LogError("This container's MeshNetworkIdentity doesn't exist. Something very weird just happened.");
        }
    }
Example #2
0
 public static void Write <T>(this NetBuffer buffer, INetworked <T> networkedObject) where T : INetworked <T>, new() => networkedObject.Serialize(buffer);