DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnFinishProgressServer()

override void ActionDeployBase::OnFinishProgressServer ( ActionData action_data)
inlineprotected

См. определение в файле ActionDeployBase.c строка 64

65 {
66 PlaceObjectActionData poActionData;
67 poActionData = PlaceObjectActionData.Cast(action_data);
68
69 if (!poActionData)
70 return;
71
72 if (!action_data.m_MainItem)
73 return;
74
75 EntityAI entity_for_placing = action_data.m_MainItem;
76 vector position;
77 vector orientation;
78
79 // In case of placement with hologram
80 if (action_data.m_Player.GetHologramServer())
81 {
82 position = action_data.m_Player.GetLocalProjectionPosition();
83 orientation = action_data.m_Player.GetLocalProjectionOrientation();
84
85 action_data.m_Player.GetHologramServer().EvaluateCollision(action_data.m_MainItem);
86 if (GetGame().IsMultiplayer() && action_data.m_Player.GetHologramServer().IsColliding())
87 return;
88
89 action_data.m_Player.GetHologramServer().PlaceEntity(entity_for_placing);
90
91 if (GetGame().IsMultiplayer())
92 action_data.m_Player.GetHologramServer().CheckPowerSource();
93 }
94 else
95 {
96 position = action_data.m_Player.GetPosition();
97 orientation = action_data.m_Player.GetOrientation();
98 position = position + (action_data.m_Player.GetDirection() * POSITION_OFFSET);
99 }
100
101 MoveEntityToFinalPosition(action_data, position, orientation);
102 GetGame().ClearJunctureEx(action_data.m_Player, entity_for_placing);
103 action_data.m_MainItem.SetIsBeingPlaced(false);
104 poActionData.m_AlreadyPlaced = true;
105
106 entity_for_placing.OnPlacementComplete(action_data.m_Player, position, orientation); //beware, this WILL fire on server before the item is moved to final position!
107 action_data.m_Player.PlacingCompleteServer();
108
109 m_MovedItems.Clear();
110 }
class LogManager EntityAI
void MoveEntityToFinalPosition(ActionData action_data, vector position, vector orientation)
Определения ActionDeployBase.c:153
const float POSITION_OFFSET
Определения ActionDeployBase.c:21
ref array< ItemBase > m_MovedItems
Определения ActionDeployBase.c:23
bool ClearJunctureEx(Man player, notnull EntityAI item)
Определения Game.c:762
bool m_AlreadyPlaced
Определения ActionDeployBase.c:5
proto native CGame GetGame()

Перекрестные ссылки ActionData, CGame::ClearJunctureEx(), GetGame(), PlaceObjectActionData::m_AlreadyPlaced, m_MovedItems, MoveEntityToFinalPosition() и POSITION_OFFSET.