Ejemplo n.º 1
0
    /// <summary>
    /// serialize this into a string
    /// </summary>
    /// <returns></returns>
    public string Serialize()
    {
        var serObj = new PNetC.NetworkedSceneObject(NetworkID);
        var sb = new StringBuilder();
        sb.Append(serObj.Serialize());
        sb.Append("type:").Append(this.GetType().Name).AppendLine(";");
        sb.Append("data:").Append(SerializeObjectData()).AppendLine(";");
        sb.Append("pos:").Append(transform.position.ToString()).AppendLine(";");
        sb.Append("rot:").Append(transform.rotation.ToString()).AppendLine(";");

        return sb.ToString();
    }
Ejemplo n.º 2
0
    /// <summary>
    /// serialize this into a string
    /// </summary>
    /// <returns></returns>
    public string Serialize()
    {
        var serObj = new PNetC.NetworkedSceneObject(NetworkID);
        var sb     = new StringBuilder();

        sb.Append(serObj.Serialize());
        sb.Append("type:").Append(this.GetType().Name).AppendLine(";");
        sb.Append("data:").Append(SerializeObjectData()).AppendLine(";");
        sb.Append("pos:").Append(transform.position.ToString()).AppendLine(";");
        sb.Append("rot:").Append(transform.rotation.ToString()).AppendLine(";");

        return(sb.ToString());
    }
Ejemplo n.º 3
0
 /// <summary>
 /// Only do this if you override awake
 /// </summary>
 protected void SetupPNetC()
 {
     _sceneObject = new PNetC.NetworkedSceneObject(NetworkID, Net.Peer);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Only do this if you override awake
 /// </summary>
 protected void SetupPNetC()
 {
     _sceneObject = new PNetC.NetworkedSceneObject(NetworkID, Net.Peer);
 }
Ejemplo n.º 5
0
 private void Consume(NetIncomingMessage msg)
 {
     try
     {
         //faster than switch, as this is in most to least common order
         if (msg.SequenceChannel == Channels.UNRELIABLE_STREAM)
         {
             if (msg.DeliveryMethod == NetDeliveryMethod.ReliableUnordered)
             {
                 HandleStaticRpc(msg);
             }
             else
             {
                 var         actorId = NetworkViewId.Deserialize(msg);
                 NetworkView find;
                 if (NetworkViewManager.Find(actorId, out find))
                 {
                     find.DoOnDeserializeStream(msg);
                 }
             }
         }
         else if (msg.SequenceChannel == Channels.RELIABLE_STREAM)
         {
             var         actorId = NetworkViewId.Deserialize(msg);
             NetworkView find;
             if (NetworkViewManager.Find(actorId, out find))
             {
                 find.DoOnDeserializeStream(msg);
             }
         }
         else if (msg.SequenceChannel >= Channels.BEGIN_RPCMODES && msg.SequenceChannel <= Channels.OWNER_RPC)
         {
             //rpc...
             var         viewId = NetworkViewId.Deserialize(msg);
             var         rpcId  = msg.ReadByte();
             NetworkView find;
             if (NetworkViewManager.Find(viewId, out find))
             {
                 find.CallRPC(rpcId, msg);
             }
             else
             {
                 Debug.LogWarning(this, "couldn't find view {0} to send rpc {1}", viewId, rpcId);
             }
         }
         else if (msg.SequenceChannel == Channels.SYNCHED_FIELD)
         {
             var         viewId  = NetworkViewId.Deserialize(msg);
             var         fieldId = msg.ReadByte();
             NetworkView find;
             if (NetworkViewManager.Find(viewId, out find))
             {
                 find.SetSynchronizedField(fieldId, msg);
             }
             else
             {
                 Debug.LogWarning(this, "couldn't find view " + viewId + " to set field " + fieldId);
             }
         }
         else if (msg.SequenceChannel == Channels.OBJECT_RPC)
         {
             var viewId = msg.ReadUInt16();
             var rpcId  = msg.ReadByte();
             NetworkedSceneObject.CallRPC(viewId, rpcId, msg);
         }
         else if (msg.SequenceChannel == Channels.STATIC_RPC)
         {
             HandleStaticRpc(msg);
         }
         else if (msg.SequenceChannel == Channels.STATIC_UTILS)
         {
             ProcessUtils(msg);
         }
         else
         {
             Debug.LogWarning(this, "{1} bytes received over unhandled channel {0}, delivery {2}", msg.SequenceChannel, msg.LengthBytes, msg.DeliveryMethod);
         }
     }
     catch (Exception er)
     {
         Debug.LogError(this, "[Net.Consume] {0}", er);
     }
 }