Esempio n. 1
0
        private void ReadRPC(NetworkWriter writer, out int connectionID, out int instanceID, out byte rpcType, out int rpcIndex, out int argumentCount, out object[] arguments)
        {
            connectionID  = writer.ReadInt16();
            instanceID    = writer.ReadInt16();
            rpcType       = writer.ReadByte();
            rpcIndex      = writer.ReadInt16();
            argumentCount = writer.ReadInt16();

            List <object> args = new List <object>();

            for (int i = 0; i < argumentCount; i++)
            {
                RPCParameter param = (RPCParameter)writer.ReadByte();
                switch (param)
                {
                case RPCParameter.Short:
                    args.Add(writer.ReadInt16());
                    break;

                case RPCParameter.Long:
                    args.Add(writer.ReadInt64());
                    break;

                case RPCParameter.Float:
                    args.Add(writer.ReadSingle());
                    break;

                case RPCParameter.Int:
                    args.Add(writer.ReadInt32());
                    break;

                case RPCParameter.Vector3:
                    args.Add(writer.ReadVector3());
                    break;

                case RPCParameter.Vector2:
                    args.Add(writer.ReadVector2());
                    break;

                case RPCParameter.Quaternion:
                    Vector3 xyz = writer.ReadVector3();
                    float   w   = writer.ReadSingle();
                    args.Add(new Quaternion(xyz.x, xyz.y, xyz.z, w));
                    break;

                case RPCParameter.Connection:
                    NetworkConnection connection = new NetworkConnection(writer.ReadInt16());
                    args.Add(connection);
                    break;

                case RPCParameter.String:
                    args.Add(writer.ReadString());
                    break;
                }
            }
            arguments = args.ToArray();
        }
Esempio n. 2
0
		public RPC(
			string rpcVariable,
			ushort rpcParameter,
			RPCPoint[] rpcPoints
		) {
			Variable = rpcVariable;
			Parameter = (RPCParameter) rpcParameter;
			Points = rpcPoints;
		}
Esempio n. 3
0
		public RPC(
			string rpcVariable,
			ushort rpcParameter,
			RPCPoint[] rpcPoints
		) {
			Variable = rpcVariable;
			Parameter = (RPCParameter) rpcParameter;
			Points = rpcPoints;
		}