NLS Engine  v0.1
The Next Logical Step in game engine design.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines
ComponentInterface.h
Go to the documentation of this file.
00001 #pragma once
00002 
00013 // Standard Includes
00014 #include <memory>
00015 
00016 // Library Includes
00017 
00018 // Local Includes
00019 #include "Entity_fwd.h"
00020 
00021 // Forward Declarations
00022 class ModuleInterface;
00023 
00024 // Typedefs
00025 
00026 class ComponentInterface {
00027 public:
00028   ComponentInterface(EntitySPTR owner, ModuleInterface* mod);
00029   virtual ~ComponentInterface(void);
00030 
00031   void SetOwner(EntitySPTR newOwner) { this->owner = newOwner; }
00032   EntitySPTR GetOwner(void) const { EntitySPTR sptr(this->owner); return sptr; }
00033   ModuleInterface* GetModule(void) const { return this->module; }
00034 protected:
00035   EntitySPTR owner;
00036   ModuleInterface* module;
00037 };