added activeFunc for active obj
This commit is contained in:
1 parent
943b6b4d21
commit
bc2997d86f
7 files changed
+97
-47
No files matched your search
@@ -61,6 +61,8 @@ namespace ZL {
|
||||
data.interactionRadius = itemData.value("radius", 2.0f);
|
||||
}
|
||||
|
||||
data.activateFunctionName = item.value("activateFunction", "");
|
||||
|
||||
if (!data.meshPath.empty()) {
|
||||
objects.push_back(data);
|
||||
}
|
||||
@@ -158,9 +160,11 @@ namespace ZL {
|
||||
std::cout << "Loading interactive object: " << objData.name << std::endl;
|
||||
|
||||
InteractiveObject intObj;
|
||||
intObj.id = objData.name;
|
||||
//intObj.id = objData.name;
|
||||
intObj.id = !objData.itemId.empty() ? objData.itemId : objData.name;
|
||||
intObj.name = objData.name;
|
||||
intObj.interactionRadius = objData.interactionRadius;
|
||||
intObj.activateFunctionName = objData.activateFunctionName;
|
||||
|
||||
// Load texture
|
||||
try {
|
||||
@@ -237,7 +241,11 @@ namespace ZL {
|
||||
|
||||
interactiveObjects.push_back(intObj);
|
||||
|
||||
std::cout << "Successfully loaded interactive: " << objData.name << " (item: " << objData.itemName << ")" << std::endl;
|
||||
std::cout << "Successfully loaded interactive: " << objData.name << " (item: " << objData.itemName;
|
||||
if (!objData.activateFunctionName.empty()) {
|
||||
std::cout << ", function: " << objData.activateFunctionName;
|
||||
}
|
||||
std::cout << ")" << std::endl;
|
||||
}
|
||||
|
||||
std::cout << "Total interactive objects loaded: " << interactiveObjects.size() << std::endl;
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace ZL {
|
||||
std::string itemDescription;
|
||||
std::string itemIcon;
|
||||
float interactionRadius = 2.0f;
|
||||
std::string activateFunctionName;
|
||||
};
|
||||
|
||||
struct NpcData {
|
||||
|
||||
@@ -20,6 +20,17 @@ namespace ZL {
|
||||
VertexRenderStruct mesh;
|
||||
Item dropItem;
|
||||
bool isActive = true;
|
||||
|
||||
bool isNpc = false;
|
||||
std::string npcInteractCallback;
|
||||
float walkSpeed = 1.5f;
|
||||
float rotationSpeed = 8.0f;
|
||||
float modelScale = 0.01f;
|
||||
std::string animationIdlePath;
|
||||
std::string animationWalkPath;
|
||||
std::string texturePath;
|
||||
|
||||
std::string activateFunctionName;
|
||||
|
||||
InteractiveObject() : interactionRadius(2.0f) {}
|
||||
|
||||
|
||||
Reference in new issue
Block a user