119 {
120 super.OnStartServer(action_data);
121
123 {
126
127 if (!poActionData)
128 return;
129
130 EntityAI entity_for_placing = action_data.m_MainItem;
131 poActionData.m_Player.SetLocalProjectionPosition(poActionData.
m_Position);
132 poActionData.m_Player.SetLocalProjectionOrientation(poActionData.
m_Orientation);
133
134 if (action_data.m_MainItem)
135 {
136 poActionData.m_Player.PlacingStartServer(action_data.m_MainItem);
137
139 action_data.m_MainItem.SetIsBeingPlaced(true);
140 }
141 }
142 else
143 {
144
145 action_data.m_Player.PlacingStartServer(action_data.m_MainItem);
146 action_data.m_MainItem.SetIsBeingPlaced(true);
147 }
148
150 if (item.GetPlaceSoundset() != string.Empty)
151 item.StartItemSoundServer(SoundConstants.ITEM_PLACE);
152
154 item.StartItemSoundServer(SoundConstants.ITEM_DEPLOY_LOOP);
155 }
proto native bool AddActionJuncture(Man player, notnull EntityAI item, int timeout_ms)
override string GetLoopDeploySoundset()
proto native CGame GetGame()
static const string Empty