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

◆ Start()

override void ActionEnterLadder::Start ( ActionData action_data)
inlineprivate

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

118 {
119 super.Start(action_data);
120
121 Building building;
122 if (Class.CastTo(building, action_data.m_Target.GetObject()))
123 {
124 array<string> selections = new array<string>();
125 string compName = "";
126 building.GetActionComponentNameList(action_data.m_Target.GetComponentIndex(), selections);
127 foreach (string tmp : selections)
128 {
129 if (tmp.Length() >= 6 && tmp.Substring(0,6) == "ladder" && tmp.IndexOfFrom(6,"_") < 0)
130 {
131 compName = tmp;
132 break;
133 }
134 }
135
136 int ladderIndex = HumanCommandLadder.DebugGetLadderIndex(compName);
137 LOD geomLod = action_data.m_Target.GetObject().GetLODByName(GEOM_LOD_NAME);
138 string ladderType = "metal";
139
140 for (int i = 0; i < geomLod.GetPropertyCount(); ++i)
141 {
142 if (geomLod.GetPropertyName(i) == "laddertype")
143 {
144 ladderType = geomLod.GetPropertyValue(i);
145 break;
146 }
147 }
148
149 action_data.m_Player.SetClimbingLadderType(ladderType);
150 action_data.m_Player.StartCommand_Ladder(building, ladderIndex );
151 }
152 }
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
const string GEOM_LOD_NAME
Определения ActionEnterLadder.c:4
proto native owned string GetPropertyValue(int index)
proto native int GetPropertyCount()
proto native owned string GetPropertyName(int index)
void HumanCommandLadder()
Определения human.c:696

Перекрестные ссылки Class::CastTo(), HumanCommandLadder::DebugGetLadderIndex(), GEOM_LOD_NAME, LOD::GetPropertyCount(), LOD::GetPropertyName(), LOD::GetPropertyValue(), ActionData::m_Player и ActionData::m_Target.