mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-13 06:51:51 +00:00
add 'nonselect_entities' raycast parameter
This commit is contained in:
parent
439d95355d
commit
35113777de
3 changed files with 7 additions and 1 deletions
|
|
@ -311,6 +311,10 @@ static int l_world_raycast(lua::State* L) {
|
||||||
entityRaycast.entityFilterExcludeMode = lua::toboolean(L, -1);
|
entityRaycast.entityFilterExcludeMode = lua::toboolean(L, -1);
|
||||||
lua::pop(L);
|
lua::pop(L);
|
||||||
}
|
}
|
||||||
|
if (lua::getfield(L, "nonselect_entities", 1)) {
|
||||||
|
entityRaycast.includeNonSelectable = lua::toboolean(L, -1);
|
||||||
|
lua::pop(L);
|
||||||
|
}
|
||||||
if (lua::getfield(L, "filter_blocks", 1)) {
|
if (lua::getfield(L, "filter_blocks", 1)) {
|
||||||
load_blocks_filter(L, -1, filteredBlocks);
|
load_blocks_filter(L, -1, filteredBlocks);
|
||||||
blocksRaycast.filter = &filteredBlocks;
|
blocksRaycast.filter = &filteredBlocks;
|
||||||
|
|
|
||||||
|
|
@ -176,7 +176,8 @@ std::optional<Entities::RaycastResult> Entities::rayCast(
|
||||||
|
|
||||||
for (auto [entity, eid, transform, body] : view.each()) {
|
for (auto [entity, eid, transform, body] : view.each()) {
|
||||||
if (eid.uid == settings.ignoredUid || !body.enabled ||
|
if (eid.uid == settings.ignoredUid || !body.enabled ||
|
||||||
(settings.solidEntitiesOnly && !eid.def.solid) || !eid.def.selectable) {
|
(settings.solidEntitiesOnly && !eid.def.solid) ||
|
||||||
|
(!eid.def.selectable && !settings.includeNonSelectable)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (settings.entitiesFilter) {
|
if (settings.entitiesFilter) {
|
||||||
|
|
|
||||||
|
|
@ -85,6 +85,7 @@ public:
|
||||||
bool solidEntitiesOnly = false;
|
bool solidEntitiesOnly = false;
|
||||||
bool entityFilterExcludeMode = false;
|
bool entityFilterExcludeMode = false;
|
||||||
const std::set<entitydefid_t>* entitiesFilter = nullptr;
|
const std::set<entitydefid_t>* entitiesFilter = nullptr;
|
||||||
|
bool includeNonSelectable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct RaycastResult {
|
struct RaycastResult {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue