CommonLibVR
ConcreteObjectFormFactory.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace RE
6 {
7  template <class T, FormType FORM_TYPE, OBJECT_TYPE OBJ_TYPE, OBJECT_CATEGORY_TYPE OBJ_CATEGORY_TYPE>
8  class ConcreteObjectFormFactory : public ConcreteFormFactory<T, FORM_TYPE>
9  {
10  public:
11  ~ConcreteObjectFormFactory() override; // 00
12 
13  // override (ConcreteFormFactory)
14  const char* GetObjectName() const override; // 04 - { return _name; }
15  OBJECT_TYPE GetObjectType() const override; // 05 - { return OBJ_TYPE; }
16  [[nodiscard]] OBJECT_CATEGORY_TYPE GetObjectCategory() const override; // 06 - { return OBJ_CATEGORY_TYPE; }
17  };
18  static_assert(sizeof(ConcreteObjectFormFactory<TESForm, FormType::None, static_cast<OBJECT_TYPE>(0), static_cast<OBJECT_CATEGORY_TYPE>(0)>) == 0x10);
19 }
Definition: ConcreteFormFactory.h:10
Definition: ConcreteObjectFormFactory.h:9
OBJECT_TYPE GetObjectType() const override
OBJECT_CATEGORY_TYPE GetObjectCategory() const override
const char * GetObjectName() const override
Definition: TESForm.h:40
Definition: AbsorbEffect.h:6
OBJECT_TYPE
Definition: IFormFactory.h:11
OBJECT_CATEGORY_TYPE
Definition: IFormFactory.h:15