#pragma once #include #include #include #include #include "sol/sol.hpp" #include "CScriptFieldsManager.h" using FieldsManPtr = std::shared_ptr; class CEntity; class CDrawable; void SetEntityDrawable(CEntity* ent, const std::filesystem::path& mdl, bool animated = true); void AddDrawableToSpace(std::shared_ptr drawable, int spaceid = 0); //into active scene std::shared_ptr CreateAnimatedDrawable(); std::shared_ptr CreateNonAnimatedDrawable(); std::vector GetDrawableSpaces(CDrawable* drawable); void SetEntityModel(CEntity* ent, const std::string& modelname = {}, int spaceid = -1); void SetFieldsManager(sol::table _table, std::function)> _fields_setter = {});