aboutsummaryrefslogtreecommitdiff
path: root/samples/SampleBase/core/SampleManager.cpp
diff options
context:
space:
mode:
authorBryan Galdrikian <[email protected]>2017-02-24 09:32:20 -0800
committerBryan Galdrikian <[email protected]>2017-02-24 09:32:20 -0800
commite1bf674c16e3c8472b29574159c789cd3f0c64e0 (patch)
tree9f0cfce09c71a2c27ff19589fcad6cd83504477c /samples/SampleBase/core/SampleManager.cpp
parentfirst commit (diff)
downloadblast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.tar.xz
blast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.zip
Updating to [email protected] and [email protected] with a new directory structure.
NvBlast folder is gone, files have been moved to top level directory. README is changed to reflect this.
Diffstat (limited to 'samples/SampleBase/core/SampleManager.cpp')
-rw-r--r--samples/SampleBase/core/SampleManager.cpp72
1 files changed, 72 insertions, 0 deletions
diff --git a/samples/SampleBase/core/SampleManager.cpp b/samples/SampleBase/core/SampleManager.cpp
new file mode 100644
index 0000000..da5cb22
--- /dev/null
+++ b/samples/SampleBase/core/SampleManager.cpp
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+*
+* NVIDIA CORPORATION and its licensors retain all intellectual property
+* and proprietary rights in and to this software, related documentation
+* and any modifications thereto. Any use, reproduction, disclosure or
+* distribution of this software and related documentation without an express
+* license agreement from NVIDIA CORPORATION is strictly prohibited.
+*/
+
+#include "SampleManager.h"
+
+#include "Utils.h"
+
+#include "Renderer.h"
+#include "PhysXController.h"
+#include "BlastController.h"
+#include "CommonUIController.h"
+#include "DamageToolController.h"
+#include "SceneController.h"
+#include "SampleController.h"
+
+
+SampleManager::SampleManager(const SampleConfig& config)
+: m_config(config)
+{
+}
+
+int SampleManager::run()
+{
+ Application app(getConfig().sampleName);
+
+ m_renderer = new Renderer();
+ m_physXController = new PhysXController(ExtImpactDamageManager::FilterShader);
+ m_blastController = new BlastController();
+ m_sceneController = new SceneController();
+ m_damageToolController = new DamageToolController();
+ m_sampleController = new SampleController();
+ m_commonUIController = new CommonUIController();
+
+ app.addControllerToFront(m_renderer);
+ app.addControllerToFront(m_physXController);
+ app.addControllerToFront(m_blastController);
+ app.addControllerToFront(m_sceneController);
+ app.addControllerToFront(m_damageToolController);
+ app.addControllerToFront(m_sampleController);
+ app.addControllerToFront(m_commonUIController);
+
+ for (IApplicationController* c : app.getControllers())
+ {
+ (static_cast<ISampleController*>(c))->setManager(this);
+ }
+
+ int result = app.run();
+
+ delete m_renderer;
+ delete m_physXController;
+ delete m_blastController;
+ delete m_sceneController;
+ delete m_damageToolController;
+ delete m_sampleController;
+ delete m_commonUIController;
+
+ return result;
+}
+
+
+int runSample(const SampleConfig& config)
+{
+ SampleManager sampleManager(config);
+ return sampleManager.run();
+} \ No newline at end of file