Skip to content

Commit

Permalink
Engine: Include PlayerPawns in ObjectTravelInfos as well
Browse files Browse the repository at this point in the history
  • Loading branch information
LupertEverett authored and dpjudas committed May 5, 2024
1 parent 654c9ab commit fb53642
Showing 1 changed file with 13 additions and 11 deletions.
24 changes: 13 additions & 11 deletions SurrealEngine/Engine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ void Engine::Run()
if (pawn && pawn->Player())
{
std::vector<ObjectTravelInfo> actorTravelInfo;
actorTravelInfo.push_back(ObjectTravelInfo(pawn));
for (UInventory* item = pawn->Inventory(); item != nullptr; item = item->Inventory())
{
ObjectTravelInfo objInfo(item);
Expand Down Expand Up @@ -499,18 +500,22 @@ void Engine::LoginPlayer()
{
for (const ObjectTravelInfo& objInfo : ObjectTravelInfo::Parse(it->second))
{
UClass* cls = packages->FindClass(objInfo.ClassName);
UActor* acceptedActor = nullptr;
if (cls)
acceptedActor = pawn->Spawn(cls, nullptr, NameString(), nullptr, nullptr);

if (acceptedActor)
if (objInfo.isPlayerPawn)
{
acceptedActors.push_back({ acceptedActor, objInfo });
acceptedActors.push_back({ pawn, objInfo });
}
else
{
LogMessage("Could not spawn travelling actor " + objInfo.ClassName);
UClass* cls = packages->FindClass(objInfo.ClassName);
UActor* acceptedActor = nullptr;

if (cls)
acceptedActor = pawn->Spawn(cls, nullptr, NameString(), nullptr, nullptr);

if (acceptedActor)
acceptedActors.push_back({ acceptedActor, objInfo });
else
LogMessage("Could not spawn travelling actor " + objInfo.ClassName);
}
}

Expand All @@ -519,11 +524,8 @@ void Engine::LoginPlayer()
UActor* acceptedActor = it.first;
const ObjectTravelInfo& objInfo = it.second;

// To do: load properties
for (auto it = objInfo.Properties.begin(); it != objInfo.Properties.end(); it++)
{
acceptedActor->SetPropertyFromString(it->first, it->second);
}
}
}
}
Expand Down

0 comments on commit fb53642

Please sign in to comment.