Added PropDataESSEntityWorldSpawner3D class. Made PropDataESSEntityWorldSpawner3DArea and PropDataESSEntityWorldSpawner3DSingle inherit from it.

This commit is contained in:
Relintai 2025-04-18 13:28:10 +02:00
parent 7681d71704
commit ae18822f95
10 changed files with 117 additions and 8 deletions

View File

@ -127,6 +127,7 @@ if env["module_texture_packer_enabled"]:
if env["module_props_enabled"]:
sources.append("props/prop_data_entity.cpp")
sources.append("props/prop_data_ess_entity_world_spawner_3d.cpp")
sources.append("props/prop_data_ess_entity_world_spawner_3d_single.cpp")
sources.append("props/prop_data_ess_entity_world_spawner_3d_area.cpp")

View File

@ -102,6 +102,7 @@ def get_doc_classes():
"ESSEntitySpawner",
"PropDataEntity",
"PropDataESSEntityWorldSpawner3D",
"PropDataESSEntityWorldSpawner3DSingle",
"PropDataESSEntityWorldSpawner3DArea",

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PropDataESSEntityWorldSpawner3D" inherits="PropDataEntry">
<brief_description>
</brief_description>
<description>
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<constants>
</constants>
</class>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PropDataESSEntityWorldSpawner3DArea" inherits="PropDataEntry">
<class name="PropDataESSEntityWorldSpawner3DArea" inherits="PropDataESSEntityWorldSpawner3D">
<brief_description>
</brief_description>
<description>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PropDataESSEntityWorldSpawner3DSingle" inherits="PropDataEntry">
<class name="PropDataESSEntityWorldSpawner3DSingle" inherits="PropDataESSEntityWorldSpawner3D">
<brief_description>
</brief_description>
<description>

View File

@ -0,0 +1,40 @@
/*************************************************************************/
/* prop_data_ess_entity_world_spawner_3d.cpp */
/*************************************************************************/
/* This file is part of: */
/* PANDEMONIUM ENGINE */
/* https://github.com/Relintai/pandemonium_engine */
/*************************************************************************/
/* Copyright (c) 2022-present Péter Magyar. */
/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "prop_data_ess_entity_world_spawner_3d.h"
PropDataESSEntityWorldSpawner3D::PropDataESSEntityWorldSpawner3D() {
}
PropDataESSEntityWorldSpawner3D::~PropDataESSEntityWorldSpawner3D() {
}
void PropDataESSEntityWorldSpawner3D::_bind_methods() {
}

View File

@ -0,0 +1,52 @@
#ifndef PROP_DATA_ESS_ENTITY_WORLD_SPAWNER_3D_H
#define PROP_DATA_ESS_ENTITY_WORLD_SPAWNER_3D_H
/*************************************************************************/
/* prop_data_ess_entity_world_spawner_3d.h */
/*************************************************************************/
/* This file is part of: */
/* PANDEMONIUM ENGINE */
/* https://github.com/Relintai/pandemonium_engine */
/*************************************************************************/
/* Copyright (c) 2022-present Péter Magyar. */
/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "../../props/props/prop_data_entry.h"
class PropDataESSEntityWorldSpawner3D : public PropDataEntry {
GDCLASS(PropDataESSEntityWorldSpawner3D, PropDataEntry);
public:
bool _processor_handles(Node *node) { return false; }
PropDataESSEntityWorldSpawner3D();
~PropDataESSEntityWorldSpawner3D();
protected:
static void _bind_methods();
private:
};
#endif

View File

@ -32,14 +32,14 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "../../props/props/prop_data_entry.h"
#include "prop_data_ess_entity_world_spawner_3d.h"
class ESSEntityWorldSpawner3DArea;
class EntityData;
class PropData;
class PropDataESSEntityWorldSpawner3DArea : public PropDataEntry {
GDCLASS(PropDataESSEntityWorldSpawner3DArea, PropDataEntry);
class PropDataESSEntityWorldSpawner3DArea : public PropDataESSEntityWorldSpawner3D {
GDCLASS(PropDataESSEntityWorldSpawner3DArea, PropDataESSEntityWorldSpawner3D);
public:
Vector3 get_spawn_area_extents() const;

View File

@ -32,14 +32,14 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "../../props/props/prop_data_entry.h"
#include "prop_data_ess_entity_world_spawner_3d.h"
class ESSEntityWorldSpawner3DSingle;
class EntityData;
class PropData;
class PropDataESSEntityWorldSpawner3DSingle : public PropDataEntry {
GDCLASS(PropDataESSEntityWorldSpawner3DSingle, PropDataEntry);
class PropDataESSEntityWorldSpawner3DSingle : public PropDataESSEntityWorldSpawner3D {
GDCLASS(PropDataESSEntityWorldSpawner3DSingle, PropDataESSEntityWorldSpawner3D);
public:
String get_entity_name() const;

View File

@ -152,6 +152,7 @@
#ifdef MODULE_PROPS_ENABLED
#include "modules/props/singleton/prop_utils.h"
#include "props/prop_data_entity.h"
#include "props/prop_data_ess_entity_world_spawner_3d.h"
#include "props/prop_data_ess_entity_world_spawner_3d_single.h"
#include "props/prop_data_ess_entity_world_spawner_3d_area.h"
#endif
@ -178,6 +179,7 @@ void register_entity_spell_system_types(ModuleRegistrationLevel p_level) {
if (p_level == MODULE_REGISTRATION_LEVEL_SCENE) {
#ifdef MODULE_PROPS_ENABLED
ClassDB::register_class<PropDataEntity>();
ClassDB::register_class<PropDataESSEntityWorldSpawner3D>();
ClassDB::register_class<PropDataESSEntityWorldSpawner3DSingle>();
ClassDB::register_class<PropDataESSEntityWorldSpawner3DArea>();
#endif