internal override MAction ReadActionBegin() { MAction action = new MAction(); action.ModuleID = (int)ReadVarint32(); uint actionAndType = ReadVarint32(); action.ActionID = (int)(actionAndType >> 2); action.Type = (MActionType)(actionAndType & 0x03); action.SeqID = (int)ReadVarint32(); return action; }
internal abstract void WriteActionBegin(MAction action);
internal override void WriteActionBegin(MAction action) { WriteVarint32((uint)action.ModuleID); uint actid = (uint)action.ActionID; uint type = (uint)action.Type; uint actionAndType = ((actid << 2) | (type & 0x03)); WriteVarint32(actionAndType); WriteVarint32((uint)action.SeqID); }