#pragma once #include "RetroTypes.hpp" #include "CAnimTreeTweenBase.hpp" namespace urde { class CAnimTreeTransition : public CAnimTreeTweenBase { protected: CCharAnimTime x24_transDur; CCharAnimTime x2c_timeInTrans; bool x34_runA; bool x35_loopA; bool x36_initialized = false; SAdvancementResults AdvanceViewForTransitionalPeriod(const CCharAnimTime& time); public: static std::string CreatePrimitiveName(const std::weak_ptr&, const std::weak_ptr&, float); CAnimTreeTransition(bool b1, const std::weak_ptr& a, const std::weak_ptr& b, const CCharAnimTime& transDur, const CCharAnimTime& timeInTrans, bool runA, bool loopA, int flags, std::string_view name, bool initialized); CAnimTreeTransition(bool b1, const std::weak_ptr& a, const std::weak_ptr& b, const CCharAnimTime& transDur, bool runA, int flags, std::string_view name); std::shared_ptr VGetBestUnblendedChild() const override; CCharAnimTime VGetTimeRemaining() const override; CSteadyStateAnimInfo VGetSteadyStateAnimInfo() const override; std::unique_ptr VClone() const override; std::optional> VSimplified() override; std::optional> VReverseSimplified() override; SAdvancementResults VAdvanceView(const CCharAnimTime& a) override; void SetBlendingWeight(float w) override; float VGetBlendingWeight() const override; }; } // namespace urde