#pragma once
#include "EngineFrame/Base/BaseNode.h"
#include "EngineFrame/Component/Component.h"
#include "Tool/IntrusiveList.hpp"
class Scene;
/**
 * @brief Actor类，继承自Actor_base类
 *
 * Actor类是一个基础的游戏对象类，可以添加到场景中
 */
class Actor : public BaseNode
{

public:
    Actor();

public:
    void Init() override;
    void AddComponent(RefPtr<Component> Component);
    void RemoveComponent(RefPtr<Component> Component);
    // void AddChild(RefPtr<Actor> child);
    // void RemoveChild(RefPtr<Actor> child);
};
