← Back to file list Raw

src/U_ShortAPI.h

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