diff --git a/include/td/common/StateMachine.h b/include/td/common/StateMachine.h index 2a5709d..b6af661 100644 --- a/include/td/common/StateMachine.h +++ b/include/td/common/StateMachine.h @@ -16,8 +16,8 @@ class StateMachine { virtual TReturn Update(TArgs... args) = 0; template - T* ChangeState(Args... args) { - return m_StateMachine.template ChangeState(std::forward(args)...); + void ChangeState(Args... args) { + m_StateMachine.template ChangeState(std::forward(args)...); } protected: @@ -36,7 +36,7 @@ class StateMachine { } template - T* ChangeState(Args... args) { + void ChangeState(Args... args) { auto* currentState = m_State.get(); auto newState = std::make_unique(static_cast(*this), std::forward(args)...); // This allows chaining @@ -44,7 +44,6 @@ class StateMachine { m_State = std::move(newState); OnStateChange(*m_State); } - return static_cast(m_State.get()); } private: