if (events.HasFlag(GameEventType.UseObject)) { var count = reader.ReadByte(); for (var i = 0; i < count; i++) { var use = reader.ReadByte(); var obj = reader.ReadInt16(); // ... } events ^= GameEventType.UseObject; } Code: C#