BuildSystem.h 963 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  2. // Please see LICENSE.md in repository root for license information
  3. // https://github.com/AtomicGameEngine/AtomicGameEngine
  4. #pragma once
  5. #include <Atomic/Core/Object.h>
  6. #include "BuildBase.h"
  7. #include "../Platform/Platform.h"
  8. using namespace Atomic;
  9. namespace ToolCore
  10. {
  11. class BuildSystem : public Object
  12. {
  13. OBJECT(BuildSystem);
  14. public:
  15. /// Construct.
  16. BuildSystem(Context* context);
  17. /// Destruct.
  18. virtual ~BuildSystem();
  19. void SetBuildPath(const String& path) { buildPath_ = path; }
  20. const String& GetBuildPath() const { return buildPath_; }
  21. void QueueBuild(BuildBase* buildBase);
  22. bool StartNextBuild();
  23. void BuildComplete(PlatformID platform, const String& buildFolder, bool success = true, bool fail3D = false);
  24. private:
  25. String buildPath_;
  26. List<SharedPtr<BuildBase>> queuedBuilds_;
  27. SharedPtr<BuildBase> currentBuild_;
  28. };
  29. }