engine/ext/behaviors/region/behavior.h

31 lines
703 B
C++

#pragma once
#include <uf/config.h>
#include <uf/ext/ext.h>
#include <uf/engine/entity/entity.h>
#include <uf/engine/scene/scene.h>
#include <uf/utils/math/vector.h>
namespace ext {
namespace RegionBehavior {
UF_BEHAVIOR_DEFINE_TYPE();
EXT_BEHAVIOR_DEFINE_TRAITS();
EXT_BEHAVIOR_DEFINE_FUNCTIONS();
UF_BEHAVIOR_DEFINE_METADATA(
struct {
pod::Vector3ui chunkRange = { 3, 1, 3 };
pod::Vector3ui chunkSize = { 32, 32, 32 };
float cooldown = 5.0f;
} settings;
struct {
float checkTime = 0.0f;
pod::Vector3i controllerIndex = {};
} last;
bool ready = false;
uf::stl::unordered_map<pod::Vector3i, uf::Object*> chunks;
);
}
}