diff options
author | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
commit | 15740faf9fe9fe4be08965098bbf2947e096aeeb (patch) | |
tree | a730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Filters/Mesh/LodMeshFilter.h |
Diffstat (limited to 'Runtime/Filters/Mesh/LodMeshFilter.h')
-rw-r--r-- | Runtime/Filters/Mesh/LodMeshFilter.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Runtime/Filters/Mesh/LodMeshFilter.h b/Runtime/Filters/Mesh/LodMeshFilter.h new file mode 100644 index 0000000..ff6273b --- /dev/null +++ b/Runtime/Filters/Mesh/LodMeshFilter.h @@ -0,0 +1,38 @@ +#ifndef LODMESHFILTER_H +#define LODMESHFILTER_H + +#include "Runtime/BaseClasses/GameObject.h" +#include "Runtime/Modules/ExportModules.h" + +class Mesh; + +class EXPORT_COREMODULE MeshFilter : public Unity::Component +{ +public: + REGISTER_DERIVED_CLASS (MeshFilter, Unity::Component) + DECLARE_OBJECT_SERIALIZE (MeshFilter) + + MeshFilter (MemLabelId label, ObjectCreationMode mode); + + void SetSharedMesh (PPtr<Mesh> mesh); + PPtr<Mesh> GetSharedMesh (); + + Mesh* GetInstantiatedMesh (); + void SetInstantiatedMesh (Mesh* mesh); + + static void InitializeClass (); + static void CleanupClass () {} + + void OnDidAddMesh (); + +protected: + virtual void AwakeFromLoad (AwakeFromLoadMode awakeMode); + + +private: + void AssignMeshToRenderer (); + + PPtr<Mesh> m_Mesh; +}; + +#endif |