Skip to content

Commit

Permalink
fix: not everything attached to a path is a moving platform (#1090)
Browse files Browse the repository at this point in the history
  • Loading branch information
aronwk-aaron authored May 13, 2023
1 parent 1af7016 commit 9d105a2
Showing 1 changed file with 24 additions and 5 deletions.
29 changes: 24 additions & 5 deletions dGame/Entity.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -690,11 +690,30 @@ void Entity::Initialize() {
}

std::string pathName = GetVarAsString(u"attached_path");

int32_t movingPlatformComponentId = compRegistryTable->GetByIDAndType(m_TemplateID, eReplicaComponentType::MOVING_PLATFORM, -1);
if (movingPlatformComponentId >= 0 || !pathName.empty()) {
MovingPlatformComponent* plat = new MovingPlatformComponent(this, pathName);
m_Components.insert(std::make_pair(eReplicaComponentType::MOVING_PLATFORM, plat));
const Path* path = dZoneManager::Instance()->GetZone()->GetPath(pathName);

//Check to see if we have an attached path and add the appropiate component to handle it:
if (path){
// if we have a moving platform path, then we need a moving platform component
if (path->pathType == PathType::MovingPlatform) {
MovingPlatformComponent* plat = new MovingPlatformComponent(this, pathName);
m_Components.insert(std::make_pair(eReplicaComponentType::MOVING_PLATFORM, plat));
// else if we are a movement path
} /*else if (path->pathType == PathType::Movement) {
auto movementAIcomp = GetComponent<MovementAIComponent>();
if (movementAIcomp){
// TODO: set path in existing movementAIComp
} else {
// TODO: create movementAIcomp and set path
}
}*/
} else {
// else we still need to setup moving platform if it has a moving platform comp but no path
int32_t movingPlatformComponentId = compRegistryTable->GetByIDAndType(m_TemplateID, eReplicaComponentType::MOVING_PLATFORM, -1);
if (movingPlatformComponentId >= 0) {
MovingPlatformComponent* plat = new MovingPlatformComponent(this, pathName);
m_Components.insert(std::make_pair(eReplicaComponentType::MOVING_PLATFORM, plat));
}
}

int proximityMonitorID = compRegistryTable->GetByIDAndType(m_TemplateID, eReplicaComponentType::PROXIMITY_MONITOR);
Expand Down

0 comments on commit 9d105a2

Please sign in to comment.