aboutsummaryrefslogtreecommitdiff
path: root/samples/SampleBase/core/SampleManager.h
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.h
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.h')
-rw-r--r--samples/SampleBase/core/SampleManager.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/samples/SampleBase/core/SampleManager.h b/samples/SampleBase/core/SampleManager.h
new file mode 100644
index 0000000..59ecc8c
--- /dev/null
+++ b/samples/SampleBase/core/SampleManager.h
@@ -0,0 +1,111 @@
+/*
+* 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.
+*/
+
+#ifndef SAMPLE_MANAGER_H
+#define SAMPLE_MANAGER_H
+
+#include "Application.h"
+#include "Sample.h"
+
+
+class SampleManager;
+
+class ISampleController : public IApplicationController
+{
+public:
+
+ void setManager(SampleManager* manager)
+ {
+ m_manager = manager;
+ }
+protected:
+
+ SampleManager* getManager() const
+ {
+ return m_manager;
+ }
+
+private:
+ SampleManager* m_manager;
+};
+
+
+class Renderer;
+class PhysXController;
+class BlastController;
+class SceneController;
+class DamageToolController;
+class SampleController;
+class CommonUIController;
+
+
+/**
+*/
+class SampleManager
+{
+ public:
+ SampleManager(const SampleConfig& config);
+ int run();
+
+ Renderer& getRenderer()
+ {
+ return *m_renderer;
+ }
+
+ PhysXController& getPhysXController() const
+ {
+ return *m_physXController;
+ }
+
+ BlastController& getBlastController() const
+ {
+ return *m_blastController;
+ }
+
+ SceneController& getSceneController() const
+ {
+ return *m_sceneController;
+ }
+
+ DamageToolController& getDamageToolController() const
+ {
+ return *m_damageToolController;
+ }
+
+ SampleController& getSampleController() const
+ {
+ return *m_sampleController;
+ }
+
+ CommonUIController& getCommonUIController() const
+ {
+ return *m_commonUIController;
+ }
+
+ const SampleConfig& getConfig() const
+ {
+ return m_config;
+ }
+
+
+ private:
+ Renderer* m_renderer;
+ PhysXController* m_physXController;
+ BlastController* m_blastController;
+ SceneController* m_sceneController;
+ DamageToolController* m_damageToolController;
+ SampleController* m_sampleController;
+ CommonUIController* m_commonUIController;
+
+ const SampleConfig& m_config;
+};
+
+
+#endif \ No newline at end of file