mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-14 20:28:21 +00:00
fixe some spacey string
be smater about pausing
This commit is contained in:
parent
691a42ba20
commit
2bb39f4fa5
@ -11,16 +11,15 @@
|
||||
#include "DestroyableComponent.h"
|
||||
|
||||
void MovementAIComponent::HandleWaypointArrived(uint32_t commandIndex) {
|
||||
Pause();
|
||||
if (!m_Path){
|
||||
Resume();
|
||||
if(IsPaused()) Resume();
|
||||
return;
|
||||
}
|
||||
if (commandIndex >= m_Path->pathWaypoints.at(m_CurrentPathWaypointIndex).commands.size()){
|
||||
Resume();
|
||||
if(IsPaused()) Resume();
|
||||
return;
|
||||
}
|
||||
|
||||
if(!IsPaused()) Pause();
|
||||
const auto& data = m_Path->pathWaypoints.at(m_CurrentPathWaypointIndex).commands.at(commandIndex).data;
|
||||
const auto& command = m_Path->pathWaypoints.at(m_CurrentPathWaypointIndex).commands.at(commandIndex).command;
|
||||
float delay = 0.0f;
|
||||
@ -150,7 +149,7 @@ void MovementAIComponent::HandleWaypointCommandUnequipInventory(const std::strin
|
||||
float MovementAIComponent::HandleWaypointCommandDelay(const std::string& data) {
|
||||
float delay = 0.0f;
|
||||
std::string delayString = data;
|
||||
std::remove_if(delayString.begin(), delayString.end(), ::isspace);
|
||||
delayString.erase(std::remove_if(delayString.begin(), delayString.end(), isspace), delayString.end());
|
||||
GeneralUtils::TryParse<float>(delayString, delay);
|
||||
return delay;
|
||||
}
|
||||
|
@ -549,8 +549,11 @@ void Zone::LoadPath(std::istream& file) {
|
||||
|
||||
LDFBaseData* ldfConfig = nullptr;
|
||||
if (path.pathType == PathType::Movement || path.pathType == PathType::Rail) {
|
||||
// :+1:
|
||||
waypoint.commands.push_back(WaypointCommand(WaypointCommandType::StringToWaypointCommandType(parameter), value));
|
||||
// cause NetDevil puts spaces in things that don't need spaces
|
||||
parameter.erase(std::remove_if(parameter.begin(), parameter.end(), isspace), parameter.end());
|
||||
auto waypointCommand = WaypointCommandType::StringToWaypointCommandType(parameter);
|
||||
if(waypointCommand != eWaypointCommandType::INVALID) waypoint.commands.push_back(WaypointCommand(waypointCommand, value));
|
||||
else Game::logger->Log("Zone", "Tried to load invalid waypoint command '%s'", parameter.c_str());
|
||||
} else {
|
||||
ldfConfig = LDFBaseData::DataFromString(parameter + "=" + value);
|
||||
if (ldfConfig) waypoint.config.push_back(ldfConfig);
|
||||
|
Loading…
Reference in New Issue
Block a user