Exemplo n.º 1
0
        public static IValueMessage Deserialize(BinaryReader br)
        {
            ValueMessageType type  = br.ReadValueMessageType();
            IValueMessage    value = Instantiate(type);

            value.Deserialize(br);
            return(value);
        }
 public static void Write(this BinaryWriter bw, ValueMessageType messageType)
 {
     bw.Write((UInt16)messageType);
 }
Exemplo n.º 3
0
        public static IValueMessage Instantiate(ValueMessageType type)
        {
            switch (type)
            {
            case ValueMessageType.Boolean:
                return(new BooleanMessage(false));

            case ValueMessageType.Int8:
                return(new Int8Message(0));

            case ValueMessageType.UInt8:
                return(new UInt8Message(0));

            case ValueMessageType.Int16:
                return(new Int16Message(0));

            case ValueMessageType.UInt16:
                return(new UInt16Message(0));

            case ValueMessageType.Int32:
                return(new Int32Message(0));

            case ValueMessageType.UInt32:
                return(new UInt32Message(0));

            case ValueMessageType.Int64:
                return(new Int64Message(0));

            case ValueMessageType.UInt64:
                return(new UInt64Message(0));

            case ValueMessageType.Single:
                return(new SingleMessage(0));

            case ValueMessageType.Double:
                return(new DoubleMessage(0));

            case ValueMessageType.Decimal:
                return(new DecimalMessage(0));

            case ValueMessageType.Vector2:
                return(new Vector2Message(Vector2.zero));

            case ValueMessageType.Vector3:
                return(new Vector3Message(Vector3.zero));

            case ValueMessageType.Vector4:
                return(new Vector4Message(Vector4.zero));

            case ValueMessageType.Quaternion:
                return(new QuaternionMessage(Quaternion.identity));

            case ValueMessageType.Rect:
                return(new RectMessage(new Rect()));

            case ValueMessageType.UiRectPosition:
                return(new UiRectPositionMessage(new UIRect.Position()));

            default:
                throw new NotSupportedException(type.ToString());
            }
        }