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

◆ DestroyCondition()

bool ActionDestroyPart::DestroyCondition ( PlayerBase player,
ActionTarget target,
ItemBase item,
bool camera_check )
inlineprotected

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

87 {
88 Object target_object = target.GetObject();
89 if ( target_object && target_object.CanUseConstruction() )
90 {
91 string part_name = target_object.GetActionComponentName( target.GetComponentIndex() );
92
93 EntityAI ent = EntityAI.Cast(target.GetObject());
94 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
95 ConstructionPart construction_part = construction.GetConstructionPartToDestroy( part_name );
96
97 if ( construction_part )
98 {
99 //camera and position checks
100 if ( !player.GetInputController().CameraIsFreeLook() && IsInReach(player, target, UAMaxDistances.DEFAULT) && !player.GetInputController().CameraIsFreeLook() )
101 {
102 //Camera check (client-only)
103 if ( camera_check )
104 {
105 if ( g_Game && ( !g_Game.IsDedicatedServer() ) )
106 {
107 if ( !ent.IsFacingCamera( part_name ) )
108 {
109 return false;
110 }
111 }
112 }
113
114 ConstructionActionData construction_action_data = player.GetConstructionActionData();
115 construction_action_data.SetTargetPart( construction_part );
116
117 return true;
118 }
119 }
120 }
121
122 return false;
123 }
class LogManager EntityAI
bool IsInReach(PlayerBase player, ActionTarget target, float maxDistance=1.0)
Определения ActionBase.c:1290
void ConstructionBase(EntityAI parent)
Определения ConstructionBase.c:58
void ConstructionPart(string name, string part_name, string main_part_name, int id, bool is_built, bool is_base, bool is_gate, array< string > required_parts)
Определения ConstructionPart.c:531
DayZGame g_Game
Определения DayZGame.c:4074
void SetTargetPart(ConstructionPart target_part)
Определения ConstructionActionData.c:121
class LOD Object

Перекрестные ссылки ActionTarget(), ConstructionBase(), UAMaxDistances::DEFAULT, g_Game, IsInReach() и ConstructionActionData::SetTargetPart().

Используется в ActionCondition() и ActionConditionContinue().