public void Send(RPCOption mode, MessageInformation message, bool reliable = true) { string outdata = ""; System.Type t = message.value.GetType(); //CODIFICA IN BASE AL TIPO DI INPUT if (t.Equals(typeof(string))) { outdata = "string:" + message.name + ":" + message.value; } else if (t.Equals(typeof(int))) { outdata = "int:" + message.name + ":" + message.value.ToString(); } else if (t.Equals(typeof(float))) { outdata = "float:" + message.name + ":" + message.value.ToString(); } else if (t.Equals(typeof(Vector2))) { outdata = "Vector2:" + message.name + ":" + ((Vector2)message.value).x + ":" + ((Vector2)message.value).y; } else if (t.Equals(typeof(Vector3))) { outdata = "Vector3:" + message.name + ":" + ((Vector3)message.value).x + ":" + ((Vector3)message.value).y + ":" + ((Vector3)message.value).z; } else if (t.Equals(typeof(bool))) { outdata = "bool:" + message.name + ":" + message.value.ToString(); } else if (t.Equals(typeof(Texture2D))) { Texture2D te = ((Texture2D)message.value); outdata = "Texture2D:" + message.name + ":"; byte[] pixelsdata = te.EncodeToJPG(); outdata += System.Convert.ToBase64String(pixelsdata); } else { Debug.LogError("data type not supported"); return; } byte[] dataBYTE = System.Text.ASCIIEncoding.Default.GetBytes(outdata); Debug.LogWarning("Sent data of " + dataBYTE.Length + "bytes"); switch (mode) { case RPCOption.Everyone: MC.PgamePlatform_instance.RealTime.SendMessageToAll(reliable, dataBYTE); break; } }
public void RPC(RPCOption option, QosType channel, string methodName, params object[] parameters) { switch (option) { case RPCOption.ToServer: RPC_ToServer(channel, methodName, parameters); break; case RPCOption.Broadcast: RPC_Broadcast(channel, methodName, parameters); break; } }
public void RPC(RPCOption option, string methodName, params object[] parameters) { RPC(option, NetworkConfig.DefaultChannel, methodName, parameters); }