예제 #1
0
    public T DeserializeRPC(Distance::BitStreamReader bitStreamReader)
    {
        T data = Activator.CreateInstance <T>();

        data.Serialize(bitStreamReader);
        return(data);
    }
예제 #2
0
    public override void ReceiveRPC(Distance::BitStreamReader bitStreamReader, UnityEngine.NetworkMessageInfo info)
    {
        T data = DeserializeRPC(bitStreamReader);

        foreach (var handler in subscriptions)
        {
            handler(data, info);
        }
    }
    public void ReceiveInstanced(object instance, Distance::BitStreamReader bitStreamReader)
    {
        T data = DeserializeRPC(bitStreamReader);

        ReceiveRPC(data);
        foreach (var handler in instancedSubscriptions)
        {
            handler(instance, data);
        }
    }
    public override void ReceiveRPC(Distance::BitStreamReader bitStreamReader, UnityEngine.NetworkMessageInfo info)
    {
        T data = DeserializeRPC(bitStreamReader);

        foreach (var conn in subscriptions)
        {
            conn.Handler(data);
        }
        ReceiveInstanced(instance, data);
    }
    public override string GetDebugRPCString(Distance::BitStreamReader bitStreamReader)
    {
        T   data = DeserializeRPC(bitStreamReader);
        var txt  = "";

        txt += $"\t{data.GetType().Name}\n";
        foreach (var prop in data.GetType().GetProperties())
        {
            txt += $"\t\t{prop.Name}  {prop.GetValue(data, null)}\n";
        }
        foreach (var field in data.GetType().GetFields())
        {
            txt += $"\t\t{field.Name}  {field.GetValue(data)}\n";
        }
        return(txt);
    }
 public virtual T DeserializeRPC(Distance::BitStreamReader bitStreamReader)
 {
     Log.WriteLine("Received RPC to unimplemented InstancedNetworkEventBase");
     return(default(T));
 }
예제 #7
0
 public virtual void ReceiveRPC(Distance::BitStreamReader bitStreamReader, UnityEngine.NetworkMessageInfo info)
 {
     Log.WriteLine("Received RPC to unimplemented NetworkEvent");
 }
예제 #8
0
 public virtual string GetDebugRPCString(Distance::BitStreamReader bitStreamReader)
 {
     return("\tUnimplemented NetworkEvent");
 }
 public override T DeserializeRPC(Distance::BitStreamReader bitStreamReader)
 {
     return(new T());
 }