UIPlayer.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. #include "AtomicEditor.h"
  5. #include <TurboBadger/tb_window.h>
  6. #include <TurboBadger/tb_select.h>
  7. #include <TurboBadger/tb_editfield.h>
  8. #include <Atomic/Core/Context.h>
  9. #include <Atomic/Core/CoreEvents.h>
  10. #include <Atomic/IO/Log.h>
  11. #include <Atomic/UI/UI.h>
  12. #include <Atomic/Graphics/Graphics.h>
  13. #include <Atomic/Graphics/Viewport.h>
  14. #include <Atomic/Graphics/Camera.h>
  15. #include "UI/Modal/UIModalOps.h"
  16. #include "License/AELicenseSystem.h"
  17. #include "AEEditor.h"
  18. #include "AEEvents.h"
  19. #include "UIPlayer.h"
  20. namespace Atomic
  21. {
  22. void FixMeSetLight2DGroupViewport(Viewport *viewport);
  23. }
  24. namespace AtomicEditor
  25. {
  26. // UIBuildSettings------------------------------------------------
  27. UIPlayer::UIPlayer(Context* context):
  28. UIModalOpWindow(context)
  29. {
  30. aePlayer_ = GetSubsystem<AEPlayer>();
  31. aePlayer_->SetUIPlayer(this);
  32. UI* tbui = GetSubsystem<UI>();
  33. window_->SetSettings(WINDOW_SETTINGS_DEFAULT & ~WINDOW_SETTINGS_CLOSE_BUTTON);
  34. window_->SetText("Atomic Player");
  35. tbui->LoadResourceFile(window_->GetContentRoot(), "AtomicEditor/editor/ui/playerwidget.tb.txt");
  36. Graphics* graphics = GetSubsystem<Graphics>();
  37. float gwidth = graphics->GetWidth();
  38. float aspect = float(graphics->GetHeight())/ gwidth;
  39. gwidth -= 150;
  40. playerSize_.x_ = gwidth;
  41. playerSize_.y_ = gwidth * aspect;
  42. TBLayout* playercontainer = window_->GetWidgetByIDAndType<TBLayout>(TBIDC("playerlayout"));
  43. assert(playercontainer);
  44. window_->ResizeToFitContent();
  45. Center();
  46. SubscribeToEvent(E_UPDATE, HANDLER(UIPlayer, HandleUpdate));
  47. }
  48. UIPlayer::~UIPlayer()
  49. {
  50. }
  51. void UIPlayer::HandleUpdate(StringHash eventType, VariantMap& eventData)
  52. {
  53. }
  54. bool UIPlayer::OnEvent(const TBWidgetEvent &ev)
  55. {
  56. if (ev.type == EVENT_TYPE_CLICK)
  57. {
  58. if (ev.target->GetID() == TBIDC("play"))
  59. {
  60. if (GetSubsystem<Editor>()->IsPlayingProject())
  61. {
  62. SendEvent(E_EDITORPLAYSTOP);
  63. return true;
  64. }
  65. }
  66. }
  67. return true;
  68. }
  69. }