Josh Engebretson 10 years ago
parent
commit
d0c68ae1b9
25 changed files with 112 additions and 42 deletions
  1. 7 4
      Data/AtomicEditor/Resources/EditorData/AtomicEditor/editor/ui/infomodule3d.tb.txt
  2. 6 3
      Data/AtomicEditor/Resources/EditorData/AtomicEditor/editor/ui/platformsinfo.tb.txt
  3. 1 1
      Source/Atomic/Engine/Engine.cpp
  4. 1 1
      Source/Atomic/Environment/ProcSky.cpp
  5. 4 0
      Source/AtomicEditor/Source/AEEditorShortcuts.cpp
  6. 8 1
      Source/AtomicEditor/Source/Build/BuildBase.cpp
  7. 2 0
      Source/AtomicEditor/Source/Build/BuildBase.h
  8. 16 2
      Source/AtomicEditor/Source/Build/BuildMac.cpp
  9. 16 3
      Source/AtomicEditor/Source/Build/BuildSystem.cpp
  10. 1 1
      Source/AtomicEditor/Source/Build/BuildSystem.h
  11. 1 1
      Source/AtomicEditor/Source/License/AELicenseSystem.cpp
  12. 1 1
      Source/AtomicEditor/Source/License/AELicenseSystem.h
  13. 1 1
      Source/AtomicEditor/Source/License/UIActivation.cpp
  14. 3 3
      Source/AtomicEditor/Source/Player/UIPlayer.cpp
  15. 1 2
      Source/AtomicEditor/Source/Player/UIPlayer.h
  16. 2 2
      Source/AtomicEditor/Source/UI/Modal/UIAbout.cpp
  17. 1 1
      Source/AtomicEditor/Source/UI/Modal/UIBuildSettings.cpp
  18. 12 4
      Source/AtomicEditor/Source/UI/Modal/UIInfoModule3D.cpp
  19. 3 1
      Source/AtomicEditor/Source/UI/Modal/UIInfoModule3D.h
  20. 2 2
      Source/AtomicEditor/Source/UI/Modal/UIModalOps.cpp
  21. 1 1
      Source/AtomicEditor/Source/UI/Modal/UIModalOps.h
  22. 1 1
      Source/AtomicEditor/Source/UI/Modal/UINewProject.cpp
  23. 2 2
      Source/AtomicEditor/Source/UI/Modal/UIPlatformsInfo.cpp
  24. 15 0
      Source/AtomicEditor/Source/UI/UIResourceFrame.cpp
  25. 4 4
      Source/AtomicEditor/Source/UI/UIWelcomeFrame.cpp

+ 7 - 4
Data/AtomicEditor/Resources/EditorData/AtomicEditor/editor/ui/infomodule3d.tb.txt

@@ -1,11 +1,14 @@
 TBLayout: axis: y, distribution: gravity
 TBLayout: axis: y, distribution: gravity
 	TBImageWidget: filename: "AtomicEditor/editor/images/3dmodule_header.png"
 	TBImageWidget: filename: "AtomicEditor/editor/images/3dmodule_header.png"
+		lp: width: 512, height: 167
 	TBEditField: multiline: 1, styling: 1, gravity: all, id: info, readonly: 1
 	TBEditField: multiline: 1, styling: 1, gravity: all, id: info, readonly: 1
 		font: size: 14
 		font: size: 14
-		text: "3D module required for 3D content\n\n" \
-				"<widget TBSkinImage: skin: 'Module3D-Small'>" 
-		lp: min-width: 480, min-height: 240
+		text: "<widget TBSkinImage: skin: 'Module3D-Small'> 3D module is required for 3D content.\n\n" \
+				"You will be able to preview 3D in the editor.\n\nAtomic Game Engine Pro is required for app deployment." 
+		lp: min-width: 480, min-height: 160
 	TBSeparator: gravity: left right, skin: AESeparator
 	TBSeparator: gravity: left right, skin: AESeparator
 	TBLayout:
 	TBLayout:
 		TBButton: text: OK, id: ok
 		TBButton: text: OK, id: ok
-		TBButton: text: Purchase, id: purchase
+			lp: min-width: 64, min-height: 64
+		TBButton: text: Get Pro, id: purchase, skin: TBButton.greentext
+			lp: min-width: 128, min-height: 64

+ 6 - 3
Data/AtomicEditor/Resources/EditorData/AtomicEditor/editor/ui/platformsinfo.tb.txt

@@ -1,13 +1,16 @@
 TBLayout: axis: y, distribution: gravity
 TBLayout: axis: y, distribution: gravity
 	TBImageWidget: filename: "AtomicEditor/editor/images/platforms_header.png"
 	TBImageWidget: filename: "AtomicEditor/editor/images/platforms_header.png"
+		lp: width: 512, height: 167
 	TBEditField: multiline: 1, styling: 1, gravity: all, id: info, readonly: 1
 	TBEditField: multiline: 1, styling: 1, gravity: all, id: info, readonly: 1
 		font: size: 14
 		font: size: 14
-		text: "A platform license is required to deploy apps to this platform.\n\n" \
+		text: "Atomic Game Engine Pro is required to deploy apps to this platform.\n\n" \
 				"<color #76D6FF>Available platform licenses:</color>\n\n" \
 				"<color #76D6FF>Available platform licenses:</color>\n\n" \
 				"<widget TBSkinImage: skin: 'LogoHTML5-Small'> <widget TBSkinImage: skin: 'LogoAndroid-Small'> " \
 				"<widget TBSkinImage: skin: 'LogoHTML5-Small'> <widget TBSkinImage: skin: 'LogoAndroid-Small'> " \
 				"<widget TBSkinImage: skin: 'LogoIOS-Small'>"
 				"<widget TBSkinImage: skin: 'LogoIOS-Small'>"
-		lp: min-width: 480, min-height: 240
+		lp: min-width: 480, min-height: 160
 	TBSeparator: gravity: left right, skin: AESeparator
 	TBSeparator: gravity: left right, skin: AESeparator
 	TBLayout:
 	TBLayout:
 		TBButton: text: OK, id: ok
 		TBButton: text: OK, id: ok
-		TBButton: text: Purchase, id: purchase
+			lp: min-width: 64, min-height: 64
+		TBButton: text: Get Pro, id: purchase, skin: TBButton.greentext
+			lp: min-width: 128, min-height: 64

+ 1 - 1
Source/Atomic/Engine/Engine.cpp

@@ -358,7 +358,7 @@ bool Engine::Initialize(const VariantMap& parameters)
         }
         }
         else
         else
         {
         {
-            renderer->SetDefaultRenderPath(cache->GetResource<XMLFile>("RenderPaths/Prepass.xml"));
+            renderer->SetDefaultRenderPath(cache->GetResource<XMLFile>("RenderPaths/Forward.xml"));
         }
         }
 
 
         /*
         /*

+ 1 - 1
Source/Atomic/Environment/ProcSky.cpp

@@ -414,7 +414,7 @@ void ProcSky::Initialize()
 #if ANDROID
 #if ANDROID
     sunlight_->SetShadowCascade(CascadeParameters(50.0f, 0.0f, 0.0f, 0.0f, 0.8f));
     sunlight_->SetShadowCascade(CascadeParameters(50.0f, 0.0f, 0.0f, 0.0f, 0.8f));
 #else
 #else
-    sunlight_->SetShadowCascade(CascadeParameters(10.0f, 50.0f, 200.0f, 0.0f, 0.8f));
+    sunlight_->SetShadowCascade(CascadeParameters(30.0f, 60.0f, 120.0f, 200.0f, 0.8f));
 #endif
 #endif
 
 
     ResourceCache* cache = GetSubsystem<ResourceCache>();
     ResourceCache* cache = GetSubsystem<ResourceCache>();

+ 4 - 0
Source/AtomicEditor/Source/AEEditorShortcuts.cpp

@@ -61,6 +61,10 @@ void EditorShortcuts::InvokePlayStop()
 
 
     if (!editor->IsPlayingProject())
     if (!editor->IsPlayingProject())
     {
     {
+        UIModalOps* ops = GetSubsystem<UIModalOps>();
+        if (ops->ModalActive())
+            return;
+
         VariantMap eventData;
         VariantMap eventData;
         eventData[EditorPlayRequest::P_MODE] = (unsigned) AE_PLAYERMODE_WIDGET;
         eventData[EditorPlayRequest::P_MODE] = (unsigned) AE_PLAYERMODE_WIDGET;
         SendEvent(E_EDITORPLAYREQUEST, eventData);
         SendEvent(E_EDITORPLAYREQUEST, eventData);

+ 8 - 1
Source/AtomicEditor/Source/Build/BuildBase.cpp

@@ -12,7 +12,7 @@
 namespace AtomicEditor
 namespace AtomicEditor
 {
 {
 
 
-BuildBase::BuildBase(Context * context) : Object(context)
+BuildBase::BuildBase(Context * context) : Object(context), containsMDL_(false)
 {
 {
 
 
     if (UseResourcePackager())
     if (UseResourcePackager())
@@ -68,6 +68,13 @@ void BuildBase::ScanResourceDirectory(const String& resourceDir)
 
 
         BuildResourceEntry* newEntry = new BuildResourceEntry;
         BuildResourceEntry* newEntry = new BuildResourceEntry;
 
 
+// BEGIN LICENSE MANAGEMENT
+        if (GetExtension(filename) == ".mdl")
+        {
+            containsMDL_ = true;
+        }
+// END LICENSE MANAGEMENT
+
         newEntry->absolutePath_ = resourceDir + filename;
         newEntry->absolutePath_ = resourceDir + filename;
         newEntry->packagePath_ = filename;
         newEntry->packagePath_ = filename;
         newEntry->resourceDir_ = resourceDir;
         newEntry->resourceDir_ = resourceDir;

+ 2 - 0
Source/AtomicEditor/Source/Build/BuildBase.h

@@ -45,6 +45,8 @@ protected:
     String buildPath_;
     String buildPath_;
     PODVector<BuildResourceEntry*> resourceEntries_;
     PODVector<BuildResourceEntry*> resourceEntries_;
 
 
+    bool containsMDL_;
+
 private:
 private:
 
 
     Vector<String> buildLog_;
     Vector<String> buildLog_;

+ 16 - 2
Source/AtomicEditor/Source/Build/BuildMac.cpp

@@ -7,6 +7,7 @@
 #include "../AEEditor.h"
 #include "../AEEditor.h"
 #include "../Project/AEProject.h"
 #include "../Project/AEProject.h"
 #include "../Project/ProjectUtils.h"
 #include "../Project/ProjectUtils.h"
+#include "License/AELicenseSystem.h"
 
 
 #include "BuildMac.h"
 #include "BuildMac.h"
 #include "BuildSystem.h"
 #include "BuildSystem.h"
@@ -53,6 +54,20 @@ void BuildMac::Build(const String& buildPath)
 
 
     Initialize();
     Initialize();
 
 
+    BuildSystem* buildSystem = GetSubsystem<BuildSystem>();
+
+// BEGIN LICENSE MANAGEMENT
+    LicenseSystem *licenseSystem = GetSubsystem<LicenseSystem>();
+    if (licenseSystem->IsStandardLicense())
+    {
+        if (containsMDL_)
+        {
+            buildSystem->BuildComplete(AE_PLATFORM_MAC, buildPath_, false, true);
+            return;
+        }
+    }
+// END LICENSE MANAGEMENT
+
     FileSystem* fileSystem = GetSubsystem<FileSystem>();
     FileSystem* fileSystem = GetSubsystem<FileSystem>();
     if (fileSystem->DirExists(buildPath_))
     if (fileSystem->DirExists(buildPath_))
         fileSystem->RemoveDir(buildPath_, true);
         fileSystem->RemoveDir(buildPath_, true);
@@ -90,8 +105,7 @@ void BuildMac::Build(const String& buildPath)
     fileSystem->SystemRun("chmod", args);
     fileSystem->SystemRun("chmod", args);
 #endif
 #endif
 
 
-    buildPath_ = buildPath + "/Mac-Build";
-    BuildSystem* buildSystem = GetSubsystem<BuildSystem>();
+    buildPath_ = buildPath + "/Mac-Build";    
     buildSystem->BuildComplete(AE_PLATFORM_MAC, buildPath_);
     buildSystem->BuildComplete(AE_PLATFORM_MAC, buildPath_);
 
 
 }
 }

+ 16 - 3
Source/AtomicEditor/Source/Build/BuildSystem.cpp

@@ -15,6 +15,8 @@
 #include "BuildIOS.h"
 #include "BuildIOS.h"
 #include "BuildWeb.h"
 #include "BuildWeb.h"
 
 
+#include "UI/Modal/UIModalOps.h"
+
 #include "../AEEvents.h"
 #include "../AEEvents.h"
 #include "../AEEditor.h"
 #include "../AEEditor.h"
 
 
@@ -47,7 +49,7 @@ void BuildSystem::ClearBuildCompleteUI()
 
 
 }
 }
 
 
-void BuildSystem::BuildComplete(AEEditorPlatform platform, const String &buildFolder, bool success)
+void BuildSystem::BuildComplete(AEEditorPlatform platform, const String &buildFolder, bool success, bool fail3D)
 {
 {
     String title;
     String title;
     String message;
     String message;
@@ -89,8 +91,19 @@ void BuildSystem::BuildComplete(AEEditorPlatform platform, const String &buildFo
         message += " Failed";
         message += " Failed";
     }
     }
 
 
-    uiBuildComplete_ = new UIBuildComplete(context_, title, message, buildFolder, success);
-    uiBuildComplete_->Show();
+// BEGIN LICENSE MANAGEMENT
+    if (fail3D)
+    {
+        UIModalOps* ops = GetSubsystem<UIModalOps>();
+        ops->ShowInfoModule3D();
+    }
+    else
+    {
+        uiBuildComplete_ = new UIBuildComplete(context_, title, message, buildFolder, success);
+        uiBuildComplete_->Show();
+    }
+
+// END LICENSE MANAGEMENT
 
 
     currentBuild_ = 0;
     currentBuild_ = 0;
 }
 }

+ 1 - 1
Source/AtomicEditor/Source/Build/BuildSystem.h

@@ -31,7 +31,7 @@ public:
     void SaveBuildSettings(rapidjson::PrettyWriter<rapidjson::FileStream>& writer);
     void SaveBuildSettings(rapidjson::PrettyWriter<rapidjson::FileStream>& writer);
 
 
     void ClearBuildCompleteUI();
     void ClearBuildCompleteUI();
-    void BuildComplete(AEEditorPlatform platform,const String& buildFolder, bool success = true);
+    void BuildComplete(AEEditorPlatform platform,const String& buildFolder, bool success = true, bool fail3D = false);
 
 
 private:
 private:
 
 

+ 1 - 1
Source/AtomicEditor/Source/License/AELicenseSystem.cpp

@@ -230,7 +230,7 @@ void LicenseSystem::RemoveLicense()
     }
     }
 }
 }
 
 
-bool LicenseSystem::IsStarterLicense()
+bool LicenseSystem::IsStandardLicense()
 {
 {
     return !licenseAndroid_;
     return !licenseAndroid_;
 }
 }

+ 1 - 1
Source/AtomicEditor/Source/License/AELicenseSystem.h

@@ -58,7 +58,7 @@ public:
     bool LicenseModule3D() { return licenseModule3D_; }
     bool LicenseModule3D() { return licenseModule3D_; }
 
 
     /// Returns whether there are any platform licenses available
     /// Returns whether there are any platform licenses available
-    bool IsStarterLicense();
+    bool IsStandardLicense();
 
 
     bool RequestPlatformChange(AEEditorPlatform platform);
     bool RequestPlatformChange(AEEditorPlatform platform);
 
 

+ 1 - 1
Source/AtomicEditor/Source/License/UIActivation.cpp

@@ -86,7 +86,7 @@ bool UIActivation::OnEvent(const TBWidgetEvent &ev)
         if (ev.target->GetID() == TBIDC("get_key"))
         if (ev.target->GetID() == TBIDC("get_key"))
         {
         {
             FileSystem* fileSystem = GetSubsystem<FileSystem>();
             FileSystem* fileSystem = GetSubsystem<FileSystem>();
-            fileSystem->SystemOpen("https://store.atomicgameengine.com/store/store.php");
+            fileSystem->SystemOpen("https://store.atomicgameengine.com/site");
         }
         }
         else if (ev.target->GetID() == TBIDC("quit"))
         else if (ev.target->GetID() == TBIDC("quit"))
         {
         {

+ 3 - 3
Source/AtomicEditor/Source/Player/UIPlayer.cpp

@@ -42,7 +42,7 @@ UIPlayer::UIPlayer(Context* context):
 
 
 // BEGIN LICENSE MANAGEMENT
 // BEGIN LICENSE MANAGEMENT
     LicenseSystem* license = GetSubsystem<LicenseSystem>();
     LicenseSystem* license = GetSubsystem<LicenseSystem>();
-    starterLicense_ = license->IsStarterLicense();
+    starterLicense_ = license->IsStandardLicense();
 // END LICENSE MANAGEMENT
 // END LICENSE MANAGEMENT
 
 
     aePlayer_ = GetSubsystem<AEPlayer>();
     aePlayer_ = GetSubsystem<AEPlayer>();
@@ -113,10 +113,10 @@ void UIPlayer::HandleUpdate(StringHash eventType, VariantMap& eventData)
         Camera* camera = view3D_->GetViewport()->GetCamera();
         Camera* camera = view3D_->GetViewport()->GetCamera();
         if (camera && !camera->IsOrthographic())
         if (camera && !camera->IsOrthographic())
         {
         {
-            SendEvent(E_EDITORPLAYSTOP);
             UIModalOps* ops = GetSubsystem<UIModalOps>();
             UIModalOps* ops = GetSubsystem<UIModalOps>();
+            ops->Hide();
             ops->ShowInfoModule3D();
             ops->ShowInfoModule3D();
-            return;
+            starterLicense_ = false;
         }
         }
     }
     }
     // END LICENSE MANAGEMENT
     // END LICENSE MANAGEMENT

+ 1 - 2
Source/AtomicEditor/Source/Player/UIPlayer.h

@@ -42,10 +42,9 @@ private:
     SharedPtr<UIView3D> view3D_;
     SharedPtr<UIView3D> view3D_;
     WeakPtr<AEPlayer> aePlayer_;
     WeakPtr<AEPlayer> aePlayer_;
 
 
-
     IntVector2 playerSize_;
     IntVector2 playerSize_;
 
 
-    bool starterLicense_;
+    bool starterLicense_;    
 };
 };
 
 
 }
 }

+ 2 - 2
Source/AtomicEditor/Source/UI/Modal/UIAbout.cpp

@@ -93,7 +93,7 @@ void UIAbout::GenerateAboutText(String& text)
 
 
     text += "<color #D4FB79>Installed platforms and modules:</color>\n\n";
     text += "<color #D4FB79>Installed platforms and modules:</color>\n\n";
 
 
-    if (licenseSystem->IsStarterLicense())
+    if (licenseSystem->IsStandardLicense())
     {
     {
         text += "    <widget TBSkinImage: skin: 'LogoMac-Small'> <widget TBSkinImage: skin: 'LogoWindows-Small'> <widget TBSkinImage: skin: 'Module2D-Small'>\n\n";
         text += "    <widget TBSkinImage: skin: 'LogoMac-Small'> <widget TBSkinImage: skin: 'LogoWindows-Small'> <widget TBSkinImage: skin: 'Module2D-Small'>\n\n";
 
 
@@ -121,7 +121,7 @@ bool UIAbout::OnEvent(const TBWidgetEvent &ev)
         if (ev.target->GetID() == TBIDC("purchase_pro"))
         if (ev.target->GetID() == TBIDC("purchase_pro"))
         {
         {
             FileSystem* fileSystem = GetSubsystem<FileSystem>();
             FileSystem* fileSystem = GetSubsystem<FileSystem>();
-            fileSystem->SystemOpen("https://store.atomicgameengine.com/store/store.php");
+            fileSystem->SystemOpen("https://store.atomicgameengine.com/site");
         }
         }
         else if (ev.target->GetID() == TBIDC("ok"))
         else if (ev.target->GetID() == TBIDC("ok"))
         {
         {

+ 1 - 1
Source/AtomicEditor/Source/UI/Modal/UIBuildSettings.cpp

@@ -301,7 +301,7 @@ bool UIBuildSettings::OnEvent(const TBWidgetEvent &ev)
 
 
             TBID id = platformSelect_->GetSelectedItemID();
             TBID id = platformSelect_->GetSelectedItemID();
             LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
             LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
-            if (licenseSystem->IsStarterLicense())
+            if (licenseSystem->IsStandardLicense())
             {
             {
                 if (id == TBIDC("WebGLBuildSettings") || id == TBIDC("AndroidBuildSettings") || id == TBIDC("iOSBuildSettings"))
                 if (id == TBIDC("WebGLBuildSettings") || id == TBIDC("AndroidBuildSettings") || id == TBIDC("iOSBuildSettings"))
                 {
                 {

+ 12 - 4
Source/AtomicEditor/Source/UI/Modal/UIInfoModule3D.cpp

@@ -27,14 +27,16 @@ namespace AtomicEditor
 
 
 // UIBuildSettings------------------------------------------------
 // UIBuildSettings------------------------------------------------
 
 
-InfoModule3D::InfoModule3D(Context* context):
+InfoModule3D::InfoModule3D(Context* context,const String &exampleFolder, const String &exampleScreenshot):
     UIModalOpWindow(context)
     UIModalOpWindow(context)
+    , exampleFolder_(exampleFolder)
+    , exampleScreenshot_(exampleScreenshot)
 {
 {
     Editor* editor = GetSubsystem<Editor>();
     Editor* editor = GetSubsystem<Editor>();
     Project* project = editor->GetProject();
     Project* project = editor->GetProject();
 
 
     TBUI* tbui = GetSubsystem<TBUI>();
     TBUI* tbui = GetSubsystem<TBUI>();
-    window_->SetText("3D Module Required");
+    window_->SetText("Atomic Game Engine Pro Required");
 
 
     tbui->LoadResourceFile(window_->GetContentRoot(), "AtomicEditor/editor/ui/infomodule3d.tb.txt");
     tbui->LoadResourceFile(window_->GetContentRoot(), "AtomicEditor/editor/ui/infomodule3d.tb.txt");
 
 
@@ -54,7 +56,14 @@ bool InfoModule3D::OnEvent(const TBWidgetEvent &ev)
         UIModalOps* ops = GetSubsystem<UIModalOps>();
         UIModalOps* ops = GetSubsystem<UIModalOps>();
         if (ev.target->GetID() == TBIDC("ok"))
         if (ev.target->GetID() == TBIDC("ok"))
         {
         {
+            SharedPtr<InfoModule3D> keepAlive(this);
             ops->Hide();
             ops->Hide();
+
+            if (exampleFolder_.Length())
+            {
+                ops->ShowCreateProject(exampleFolder_, exampleScreenshot_);
+            }
+
             return true;
             return true;
         }
         }
         if (ev.target->GetID() == TBIDC("purchase"))
         if (ev.target->GetID() == TBIDC("purchase"))
@@ -62,13 +71,12 @@ bool InfoModule3D::OnEvent(const TBWidgetEvent &ev)
 
 
             //Editor* editor = GetSubsystem<Editor>();
             //Editor* editor = GetSubsystem<Editor>();
             FileSystem* fs = GetSubsystem<FileSystem>();
             FileSystem* fs = GetSubsystem<FileSystem>();
-            fs->SystemOpen("https://store.atomicgameengine.com/store/store.php");
+            fs->SystemOpen("https://store.atomicgameengine.com/site");
             ops->Hide();
             ops->Hide();
 
 
             return true;
             return true;
         }
         }
 
 
-
     }
     }
 
 
     return false;
     return false;

+ 3 - 1
Source/AtomicEditor/Source/UI/Modal/UIInfoModule3D.h

@@ -18,12 +18,14 @@ class InfoModule3D : public UIModalOpWindow
 
 
 public:
 public:
 
 
-    InfoModule3D(Context* context);
+    InfoModule3D(Context* context, const String &exampleFolder, const String &exampleScreenshot);
     virtual ~InfoModule3D();
     virtual ~InfoModule3D();
     bool OnEvent(const TBWidgetEvent &ev);
     bool OnEvent(const TBWidgetEvent &ev);
 
 
 private:
 private:
 
 
+    String exampleFolder_;
+    String exampleScreenshot_;
 };
 };
 
 
 }
 }

+ 2 - 2
Source/AtomicEditor/Source/UI/Modal/UIModalOps.cpp

@@ -307,11 +307,11 @@ void UIModalOps::ShowPlayer()
     opWindow_ = new UIPlayer(context_);
     opWindow_ = new UIPlayer(context_);
 }
 }
 
 
-void UIModalOps::ShowInfoModule3D()
+void UIModalOps::ShowInfoModule3D(const String &exampleFolder, const String &exampleScreenshot)
 {
 {
     assert(opWindow_.Null());
     assert(opWindow_.Null());
     Show();
     Show();
-    opWindow_ = new InfoModule3D(context_);
+    opWindow_ = new InfoModule3D(context_, exampleFolder, exampleScreenshot);
 }
 }
 
 
 void UIModalOps::OnWidgetDelete(TBWidget *widget)
 void UIModalOps::OnWidgetDelete(TBWidget *widget)

+ 1 - 1
Source/AtomicEditor/Source/UI/Modal/UIModalOps.h

@@ -60,7 +60,7 @@ class UIModalOps: public AEWidget, private TBWidgetListener
     void ShowActivationSuccess();
     void ShowActivationSuccess();
     void ShowManageLicense();
     void ShowManageLicense();
     void ShowAbout();
     void ShowAbout();
-    void ShowInfoModule3D();
+    void ShowInfoModule3D(const String& exampleFolder = String::EMPTY, const String &exampleScreenshot = String::EMPTY);
     void ShowPlatformsInfo();
     void ShowPlatformsInfo();
     void ShowEulaAgreement();
     void ShowEulaAgreement();
 
 

+ 1 - 1
Source/AtomicEditor/Source/UI/Modal/UINewProject.cpp

@@ -134,7 +134,7 @@ bool UINewProject::OnEvent(const TBWidgetEvent &ev)
 // BEGIN LICENSE MANAGEMENT
 // BEGIN LICENSE MANAGEMENT
             LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
             LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
 
 
-            if (licenseSystem->IsStarterLicense())
+            if (licenseSystem->IsStandardLicense())
             {
             {
                 SharedPtr<UINewProject> keepAlive(this);
                 SharedPtr<UINewProject> keepAlive(this);
                 UIModalOps* ops = GetSubsystem<UIModalOps>();
                 UIModalOps* ops = GetSubsystem<UIModalOps>();

+ 2 - 2
Source/AtomicEditor/Source/UI/Modal/UIPlatformsInfo.cpp

@@ -34,7 +34,7 @@ PlatformsInfo::PlatformsInfo(Context* context):
     Project* project = editor->GetProject();
     Project* project = editor->GetProject();
 
 
     TBUI* tbui = GetSubsystem<TBUI>();
     TBUI* tbui = GetSubsystem<TBUI>();
-    window_->SetText("Platform License Required");
+    window_->SetText("Atomic Game Engine Pro Required");
 
 
     tbui->LoadResourceFile(window_->GetContentRoot(), "AtomicEditor/editor/ui/platformsinfo.tb.txt");
     tbui->LoadResourceFile(window_->GetContentRoot(), "AtomicEditor/editor/ui/platformsinfo.tb.txt");
 
 
@@ -63,7 +63,7 @@ bool PlatformsInfo::OnEvent(const TBWidgetEvent &ev)
 
 
             //Editor* editor = GetSubsystem<Editor>();
             //Editor* editor = GetSubsystem<Editor>();
             FileSystem* fs = GetSubsystem<FileSystem>();
             FileSystem* fs = GetSubsystem<FileSystem>();
-            fs->SystemOpen("https://store.atomicgameengine.com/store/store.php");
+            fs->SystemOpen("https://store.atomicgameengine.com/site");
             ops->Hide();
             ops->Hide();
 
 
             return true;
             return true;

+ 15 - 0
Source/AtomicEditor/Source/UI/UIResourceFrame.cpp

@@ -26,6 +26,10 @@
 #include "UIErrorsWidget.h"
 #include "UIErrorsWidget.h"
 #include "UIConsoleWidget.h"
 #include "UIConsoleWidget.h"
 
 
+#include "License/AELicenseSystem.h"
+
+#include "Modal/UIModalOps.h"
+
 #include "../Tools/External/AEExternalTooling.h"
 #include "../Tools/External/AEExternalTooling.h"
 
 
 using namespace tb;
 using namespace tb;
@@ -157,6 +161,17 @@ void ResourceFrame::EditResource(const String& fullpath)
 
 
         editor->SetFocus();
         editor->SetFocus();
 
 
+// BEGIN LICENSE MANAGEMENT
+        LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
+        if(licenseSystem->IsStandardLicense())
+        {
+            if (ext == ".scene" )
+            {
+                UIModalOps* ops = GetSubsystem<UIModalOps>();
+                ops->ShowInfoModule3D();
+            }
+        }
+// END LICENSE MANAGEMENT
 
 
     }
     }
 
 

+ 4 - 4
Source/AtomicEditor/Source/UI/UIWelcomeFrame.cpp

@@ -283,20 +283,20 @@ bool WelcomeFrame::OnEvent(const TBWidgetEvent &ev)
                     {
                     {
                         if (ev.target->GetID() == (*itr).id)
                         if (ev.target->GetID() == (*itr).id)
                         {
                         {
+                            String exampleSourceDir = exampleSourceDir_ + "/" + (*itr).folder;
 
 
 // BEGIN LICENSE MANAGEMENT
 // BEGIN LICENSE MANAGEMENT
                             LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
                             LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
-                            if (licenseSystem->IsStarterLicense())
+                            if (licenseSystem->IsStandardLicense())
                             {
                             {
                                 if ((*itr).module == "3D")
                                 if ((*itr).module == "3D")
                                 {
                                 {
 
 
-                                    ops->ShowInfoModule3D();
+                                    ops->ShowInfoModule3D(exampleSourceDir, (*itr).screenshot);
                                     return true;
                                     return true;
                                 }
                                 }
                             }
                             }
-// END LICENSE MANAGEMENT
-                            String exampleSourceDir = exampleSourceDir_ + "/" + (*itr).folder;
+// END LICENSE MANAGEMENT                            
                             ops->ShowCreateProject(exampleSourceDir, (*itr).screenshot);
                             ops->ShowCreateProject(exampleSourceDir, (*itr).screenshot);
                             return true;
                             return true;
                         }
                         }