#ifndef XNA_CONTENT_READERS_AUDIO_HPP #define XNA_CONTENT_READERS_AUDIO_HPP #include "../../audio/soundeffect.hpp" #include "../../csharp/timespan.hpp" #include "../../csharp/type.hpp" #include "../manager.hpp" #include "../reader.hpp" namespace xna { class SoundEffectReader : public ContentTypeReaderT { public: SoundEffectReader() : ContentTypeReaderT(typeof()) { ContentTypeReader::TargetIsValueType = false; } PSoundEffect Read(ContentReader& input, PSoundEffect& existingInstance) override { const auto count1 = input.ReadInt32(); const auto format = input.ReadBytes(count1); const auto count2 = input.ReadInt32(); const auto data = input.ReadBytes(count2); const auto loopStart = input.ReadInt32(); const auto loopLength = input.ReadInt32(); const auto num = input.ReadInt32(); auto sf = snew(format, data, loopStart, loopLength, TimeSpan::FromMilliseconds((double)num)); return sf; } }; } #endif