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

◆ OnExecuteServer()

override void ActionCreateIndoorOven::OnExecuteServer ( ActionData action_data)
inlineprivate

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

64 {
65 BuildingWithFireplace buildingFireplace = BuildingWithFireplace.Cast(action_data.m_Target.GetObject());
66 Object obj = g_Game.CreateObjectEx(buildingFireplace.GetOvenType(0), action_data.m_Player.GetLastFirePoint(), ECE_PLACE_ON_SURFACE );
67
68 int m_FirePointIndex = action_data.m_Player.GetLastFirePointIndex();
69 float m_FireplaceRot = action_data.m_Player.GetLastFirePointRot();
70 vector smoke_point_pos = action_data.m_Target.GetObject().GetSelectionPositionMS( OvenIndoor.OVENPOINT_SMOKE_POSITION + m_FirePointIndex.ToString() );
71 vector smoke_point_pos_world = action_data.m_Target.GetObject().ModelToWorld( smoke_point_pos );
72 vector m_SmokePosition = smoke_point_pos_world;
73
74 OvenIndoor fp_indoor = OvenIndoor.Cast( obj );
75 if ( fp_indoor )
76 {
77 fp_indoor.SetFirePointIndex( m_FirePointIndex );
78 fp_indoor.SetSmokePointPosition( m_SmokePosition );
79
80 vector fprot = vector.Zero;
81 fprot[0] = m_FireplaceRot;
82 fp_indoor.SetOrientation( fprot );
83
84 fp_indoor.Synchronize();
85
86 //move item to target fireplace
87 if (!g_Game.IsMultiplayer())
88 {
89 ClearInventoryReservationEx(action_data);
90 action_data.m_Player.LocalTakeEntityToTargetAttachment(fp_indoor, action_data.m_MainItem);
91 }
92 else
93 action_data.m_Player.ServerTakeEntityToTargetAttachment(fp_indoor, action_data.m_MainItem);
94 }
95 }
void ClearInventoryReservationEx(ActionData action_data)
Определения ActionBase.c:1120
ActionPlaceFireplaceIndoor m_FirePointIndex
vector m_SmokePosition
Определения ActionPlaceFireplaceIndoor.c:86
float m_FireplaceRot
Определения ActionPlaceFireplaceIndoor.c:85
BuildingWithFireplaceNasdara BuildingWithFireplace
const int ECE_PLACE_ON_SURFACE
Определения CentralEconomy.c:38
DayZGame g_Game
Определения DayZGame.c:4074
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
ItemBase m_MainItem
Определения ActionBase.c:35
string GetOvenType(int firePointIndex)
Определения BuildingWithFireplace.c:12
class LOD Object

Перекрестные ссылки ClearInventoryReservationEx(), ECE_PLACE_ON_SURFACE, g_Game, BuildingWithFireplace::GetOvenType(), m_FireplaceRot, m_FirePointIndex, ActionData::m_MainItem, ActionData::m_Player, m_SmokePosition, ActionData::m_Target и vector::Zero.