Added JSONLoader and JSONAsset

Signed-off-by: Robear Selwans <robear.selwans@outlook.com>
This commit is contained in:
2021-06-02 07:59:39 +02:00
parent 70f0449a7b
commit 0ebdf27f86
4 changed files with 28 additions and 0 deletions

View File

@@ -8,6 +8,7 @@
#include "loaders/LoaderCommon.h"
#include "loaders/TextLoader/TextLoader.h"
#include "loaders/JSONLoader/JSONLoader.h"
#define AssetSysCheck(...) do { \
assetsys_error_t res = __VA_ARGS__; \
@@ -45,6 +46,16 @@ onRemoveTextAsset(
}
}
void
onRemoveJSONAsset(
ECSQuery query)
{
JSONAsset *assets = ECS->getQueryColumn(query, sizeof(JSONAsset), 1);
for(int i = 0; i < ECS->getQueryMatchCount(query); i++) {
ev_jsonloader_jsonasset_destr(assets[i]);
}
}
EV_CONSTRUCTOR
{
static_assert(sizeof(AssetEntityID) == sizeof(AssetHandle), "AssetEntityID not the same size of AssetHandle");
@@ -62,6 +73,9 @@ EV_CONSTRUCTOR
ev_textloader_setassettype(AssetECS->registerComponent("TextAsset", sizeof(TextAsset), EV_ALIGNOF(TextAsset)));
AssetECS->setOnRemoveTrigger("TextAssetOnRemove", "TextAsset", onRemoveTextAsset);
ev_jsonloader_setassettype(AssetECS->registerComponent("JSONAsset", sizeof(JSONAsset), EV_ALIGNOF(JSONAsset)));
AssetECS->setOnRemoveTrigger("JSONAssetOnRemove", "JSONAsset", onRemoveJSONAsset);
}
}
@@ -158,5 +172,7 @@ EV_BINDINGS
EV_NS_BIND_FN(TextLoader, loadAsset, ev_textloader_loadasset);
EV_NS_BIND_FN(JSONLoader, loadAsset, ev_jsonloader_loadasset);
return 0;
}