示例#1
0
    public override object SelfDeserialize(UserEvent.EventType type, byte[] body)
    {
        object ret = null;

        using (var stream = new MemoryStream(body)) {
            switch (type)
            {
            case UserEvent.EventType.GA:
            {
                ret = Serializer.Deserialize <GA>(stream);
                break;
            }

            case UserEvent.EventType.GR:
            {
                ret = Serializer.Deserialize <GR>(stream);
                break;
            }

            case UserEvent.EventType.LA:
            {
                ret = Serializer.Deserialize <LA>(stream);
                break;
            }
            }
        }
        return(ret);
    }
示例#2
0
    public static MsgType MsgTypeConverter(UserEvent.EventType origin)
    {
        MsgType ret = MsgType.AssetUpload;

        switch (origin)
        {
        case UserEvent.EventType.CMD:
        {
            ret = MsgType.Command;
            break;
        }

        case UserEvent.EventType.CTR:
        {
            ret = MsgType.Control;
            break;
        }

        case UserEvent.EventType.ENV:
        {
            ret = MsgType.Environment;
            break;
        }

        case UserEvent.EventType.GA:
        {
            ret = MsgType.GameObjectAdd;
            break;
        }

        case UserEvent.EventType.GR:
        {
            ret = MsgType.GameObjectRemove;
            break;
        }

        case UserEvent.EventType.LA:
        {
            ret = MsgType.AssetLoad;
            break;
        }

        case UserEvent.EventType.ST:
        {
            ret = MsgType.StateTransfer;
            break;
        }

        case UserEvent.EventType.UPA:
        {
            ret = MsgType.AssetUpload;
            break;
        }
        }
        return(ret);
    }
示例#3
0
    public static UserEvent.EventType EventTypeConverter(Myproto.MsgType origin)
    {
        UserEvent.EventType ret = UserEvent.EventType.UPA;
        switch (origin)
        {
        case MsgType.AssetLoad:
        {
            ret = UserEvent.EventType.LA;
            break;
        }

        case MsgType.AssetUpload:
        {
            ret = UserEvent.EventType.UPA;
            break;
        }

        case MsgType.Command:
        {
            ret = UserEvent.EventType.CMD;
            break;
        }

        case MsgType.Control:
        {
            ret = UserEvent.EventType.CTR;
            break;
        }

        case MsgType.Environment:
        {
            ret = UserEvent.EventType.ENV;
            break;
        }

        case MsgType.GameObjectAdd:
        {
            ret = UserEvent.EventType.GA;
            break;
        }

        case MsgType.GameObjectRemove:
        {
            ret = UserEvent.EventType.GR;
            break;
        }

        case MsgType.StateTransfer:
        {
            ret = UserEvent.EventType.ST;
            break;
        }
        }
        return(ret);
    }
示例#4
0
    public override byte[] SelfSerialize(UserEvent.EventType type, object content)
    {
        byte[] ret = null;
        switch (type)
        {
        case UserEvent.EventType.GA:
        {
            var proto = content as GA;
            using (var stream = new MemoryStream()) {
                Serializer.Serialize <GA>(stream, proto);
                ret = stream.ToArray();
            }
            break;
        }

        case UserEvent.EventType.GR:
        {
            var proto = content as GR;
            using (var stream = new MemoryStream()) {
                Serializer.Serialize <GR>(stream, proto);
                ret = stream.ToArray();
            }
            break;
        }

        case UserEvent.EventType.LA:
        {
            var proto = content as LA;
            using (var stream = new MemoryStream()) {
                Serializer.Serialize <LA>(stream, proto);
                ret = stream.ToArray();
            }
            break;
        }
        }

        return(ret);
    }
示例#5
0
 public abstract byte[] SelfSerialize(UserEvent.EventType type, object content);
示例#6
0
 public abstract object SelfDeserialize(UserEvent.EventType type, byte[] body);