NETProjectGenCmd.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. #include <Atomic/Core/Context.h>
  8. #include <Atomic/Core/StringUtils.h>
  9. #include <Atomic/IO/Log.h>
  10. #include <Atomic/IO/File.h>
  11. #include "../ToolSystem.h"
  12. #include "../ToolEnvironment.h"
  13. #include "../NETTools/NETProjectGen.h"
  14. #include "NETProjectGenCmd.h"
  15. namespace ToolCore
  16. {
  17. NETProjectGenCmd::NETProjectGenCmd(Context* context) : Command(context)
  18. {
  19. }
  20. NETProjectGenCmd::~NETProjectGenCmd()
  21. {
  22. }
  23. bool NETProjectGenCmd::Parse(const Vector<String>& arguments, unsigned startIndex, String& errorMsg)
  24. {
  25. String argument = arguments[startIndex].ToLower();
  26. projectFile_ = startIndex + 1 < arguments.Size() ? arguments[startIndex + 1] : String::EMPTY;
  27. scriptPlatform_ = startIndex + 2 < arguments.Size() ? arguments[startIndex + 2] : String::EMPTY;
  28. if (argument != "net-projectgen")
  29. {
  30. errorMsg = "Unable to parse bind command";
  31. return false;
  32. }
  33. if (!projectFile_.Length())
  34. {
  35. errorMsg = "Unable to parse net-projectgen command";
  36. return false;
  37. }
  38. if (!scriptPlatform_.Length())
  39. {
  40. errorMsg = "Unable to parse net-projectgen command";
  41. return false;
  42. }
  43. return true;
  44. }
  45. void NETProjectGenCmd::Run()
  46. {
  47. SharedPtr<NETProjectGen> gen(new NETProjectGen(context_));
  48. gen->SetScriptPlatform(scriptPlatform_);
  49. gen->LoadProject(projectFile_);
  50. gen->Generate();
  51. Finished();
  52. }
  53. }