ResourcePackager.h 990 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //
  2. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  3. // LICENSE: Atomic Game Engine Editor and Tools EULA
  4. // Please see LICENSE_ATOMIC_EDITOR_AND_TOOLS.md in repository root for
  5. // license information: https://github.com/AtomicGameEngine/AtomicGameEngine
  6. //
  7. #pragma once
  8. #include <Atomic/Core/Object.h>
  9. #include "Atomic/Container/Vector.h"
  10. #include <Atomic/IO/File.h>
  11. #include "BuildTypes.h"
  12. using namespace Atomic;
  13. namespace ToolCore
  14. {
  15. class BuildBase;
  16. class ResourcePackager : public Object
  17. {
  18. OBJECT(ResourcePackager);
  19. public:
  20. ResourcePackager(Context* context, BuildBase* buildBase);
  21. virtual ~ResourcePackager();
  22. void AddResourceEntry(BuildResourceEntry* entry);
  23. void GeneratePackage(const String& destFilePath);
  24. private:
  25. void WriteHeader(File* dest);
  26. bool WritePackageFile(const String& destFilePath);
  27. PODVector<BuildResourceEntry*> resourceEntries_;
  28. WeakPtr<BuildBase> buildBase_;
  29. unsigned checksum_;
  30. };
  31. }