예제 #1
0
    public static WorldMap_PosProto GetProto(byte[] buffer, bool isChild = false)
    {
        WorldMap_PosProto proto = new WorldMap_PosProto();

        MMO_MemoryStream ms = null;

        if (!isChild)
        {
            ms = GameEntry.Socket.SocketSendMS;
        }
        else
        {
            ms = GameEntry.Pool.DequeueClassObject <MMO_MemoryStream>();
        }
        ms.SetLength(0);
        ms.Write(buffer, 0, buffer.Length);
        ms.Position = 0;

        proto.x      = ms.ReadFloat();
        proto.y      = ms.ReadFloat();
        proto.z      = ms.ReadFloat();
        proto.yAngle = ms.ReadFloat();

        if (isChild)
        {
            GameEntry.Pool.EnqueueClassObject(ms);
        }
        return(proto);
    }
예제 #2
0
    public static WorldMap_PosProto GetProto(byte[] buffer)
    {
        WorldMap_PosProto proto = new WorldMap_PosProto();

        using (MMO_MemoryStream ms = new MMO_MemoryStream(buffer))
        {
            proto.x      = ms.ReadFloat();
            proto.y      = ms.ReadFloat();
            proto.z      = ms.ReadFloat();
            proto.yAngle = ms.ReadFloat();
        }
        return(proto);
    }
예제 #3
0
    public static WorldMap_PosProto GetProto(MMO_MemoryStream ms, byte[] buffer)
    {
        WorldMap_PosProto proto = new WorldMap_PosProto();

        ms.SetLength(0);
        ms.Write(buffer, 0, buffer.Length);
        ms.Position = 0;

        proto.x      = ms.ReadFloat();
        proto.y      = ms.ReadFloat();
        proto.z      = ms.ReadFloat();
        proto.yAngle = ms.ReadFloat();

        return(proto);
    }