1- // Fill out your copyright notice in the Description page of Project Settings.
1+ // Fill out your copyright notice in the Description page of Project Settings.
22
33#include " GameModeWorld.h"
44#include " kbengine_ue4_demo.h"
@@ -19,7 +19,7 @@ void AGameModeWorld::installEvents()
1919 Super::installEvents ();
2020
2121 // in world
22- // 这个事件触发时我们需要切换地图到游戏世界地图
22+ // 这个事件触发时我们需要切换地图到游戏世界地图
2323 KBENGINE_REGISTER_EVENT (KBEngine::KBEventTypes::addSpaceGeometryMapping, addSpaceGeometryMapping);
2424 KBENGINE_REGISTER_EVENT (KBEngine::KBEventTypes::onEnterWorld, onEnterWorld);
2525 KBENGINE_REGISTER_EVENT (KBEngine::KBEventTypes::onLeaveWorld, onLeaveWorld);
@@ -57,8 +57,8 @@ void AGameModeWorld::BeginPlay()
5757
5858 check (KBEngine::KBEngineApp::getSingleton ().isInitialized ());
5959
60- // 如果已经有被创建的实体,说明他们在上一个场景未来得及跳转之前已经通知创建了,但由于我们的world场景并没有来得及创建,这部分实体进入世界事件已经漏掉
61- // 此时我们需要再次触发一次onEnterWorld,让表现层能够在游戏场景中创建出所有的实体
60+ // 如果已经有被创建的实体,说明他们在上一个场景未来得及跳转之前已经通知创建了,但由于我们的world场景并没有来得及创建,这部分实体进入世界事件已经漏掉
61+ // 此时我们需要再次触发一次onEnterWorld,让表现层能够在游戏场景中创建出所有的实体
6262 KBEngine::KBEngineApp::ENTITIES_MAP& entities = KBEngine::KBEngineApp::getSingleton ().entities ();
6363 for (auto & item : entities)
6464 {
@@ -80,7 +80,7 @@ void AGameModeWorld::BeginPlay()
8080
8181void AGameModeWorld::reqRelive (int reliveType)
8282{
83- // 由于玩家的Avatar实体注册了该事件, 如果此时Avatar实体存在那么必然会执行到该事件
83+ // 由于玩家的Avatar实体注册了该事件, 如果此时Avatar实体存在那么必然会执行到该事件
8484 UKBEventData_reqRelive* pEventData = NewObject<UKBEventData_reqRelive>();
8585 pEventData->reliveType = reliveType;
8686 KBENGINE_EVENT_FIRE (" relive" , pEventData);
@@ -115,6 +115,7 @@ void AGameModeWorld::onEnterWorld_Implementation(const UKBEventData* pEventData)
115115 const UKBEventData_onEnterWorld* pData = Cast<UKBEventData_onEnterWorld>(pEventData);
116116
117117 FRotator Rot (0 .f , 0 .f , 0 .f );
118+ KBDir2UE4Dir (Rot, pData->direction );
118119 FTransform SpawnTransform (Rot, pData->position );
119120
120121 if (pData->isPlayer )
@@ -157,6 +158,7 @@ void AGameModeWorld::onEnterSpace_Implementation(const UKBEventData* pEventData)
157158 const UKBEventData_onEnterSpace* pData = Cast<UKBEventData_onEnterSpace>(pEventData);
158159
159160 FRotator Rot (0 .f , 0 .f , 0 .f );
161+ KBDir2UE4Dir (Rot, pData->direction );
160162 FTransform SpawnTransform (Rot, pData->position );
161163
162164 if (pData->isPlayer )
@@ -280,6 +282,7 @@ void AGameModeWorld::set_modelID_Implementation(const UKBEventData* pEventData)
280282{
281283 const UKBEventData_set_modelID* pData = Cast<UKBEventData_set_modelID>(pEventData);
282284 AGameEntity* pAGameEntity = findGameEntity (pData->entityID );
285+
283286 if (pAGameEntity)
284287 pAGameEntity->setModelID (pData->modelID );
285288}
0 commit comments