123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
- #ifndef CRYINCLUDE_CRYMOVIE_ANIMPOSTFXNODE_H
- #define CRYINCLUDE_CRYMOVIE_ANIMPOSTFXNODE_H
- #pragma once
- #include "AnimNode.h"
- class CFXNodeDescription;
- //////////////////////////////////////////////////////////////////////////
- class CAnimPostFXNode
- : public CAnimNode
- {
- public:
- AZ_CLASS_ALLOCATOR(CAnimPostFXNode, AZ::SystemAllocator);
- AZ_RTTI(CAnimPostFXNode, "{41FCA8BB-46A8-4F37-87C2-C1D10994854B}", CAnimNode);
- //-----------------------------------------------------------------------------
- //!
- static void Initialize();
- static CFXNodeDescription* GetFXNodeDescription(AnimNodeType nodeType);
- static CAnimNode* CreateNode(const int id, AnimNodeType nodeType);
- //-----------------------------------------------------------------------------
- //!
- CAnimPostFXNode();
- CAnimPostFXNode(const int id, AnimNodeType nodeType, CFXNodeDescription* pDesc);
- //-----------------------------------------------------------------------------
- //!
- void SerializeAnims(XmlNodeRef& xmlNode, bool bLoading, bool bLoadEmptyTracks) override;
- //-----------------------------------------------------------------------------
- //!
- unsigned int GetParamCount() const override;
- CAnimParamType GetParamType(unsigned int nIndex) const override;
- //-----------------------------------------------------------------------------
- //!
- //-----------------------------------------------------------------------------
- //!
- void CreateDefaultTracks() override;
- void OnReset() override;
- //-----------------------------------------------------------------------------
- //!
- void Animate(SAnimContext& ac) override;
- void InitPostLoad(IAnimSequence* sequence) override;
- static void Reflect(AZ::ReflectContext* context);
- protected:
- bool GetParamInfoFromType(const CAnimParamType& paramId, SParamInfo& info) const override;
- using FxNodeDescriptionMap = AZStd::map<AnimNodeType, AZStd::unique_ptr<CFXNodeDescription>>;
- static FxNodeDescriptionMap s_fxNodeDescriptions;
- static inline bool s_initialized{};
- CFXNodeDescription* m_pDescription;
- };
- #endif // CRYINCLUDE_CRYMOVIE_ANIMPOSTFXNODE_H
|