86 {
87 Object target_object = target.GetObject();
88 if ( target_object && target_object.CanUseConstruction() )
89 {
90 string part_name = target_object.GetActionComponentName( target.GetComponentIndex() );
91
93 Construction construction = base_building.GetConstruction();
94 ConstructionPart construction_part = construction.GetConstructionPartToDestroy( part_name );
95
96 if ( construction_part )
97 {
98
99 if ( !player.GetInputController().CameraIsFreeLook() &&
IsInReach(player, target, UAMaxDistances.DEFAULT) && !player.GetInputController().CameraIsFreeLook() )
100 {
101
102 if ( camera_check )
103 {
105 {
107 {
108 return false;
109 }
110 }
111 }
112
113 ConstructionActionData construction_action_data = player.GetConstructionActionData();
115
116 return true;
117 }
118 }
119 }
120
121 return false;
122 }
void Construction(BaseBuildingBase parent)
bool IsInReach(PlayerBase player, ActionTarget target, float maxDistance=1.0)
override bool IsFacingCamera(string selection)
void SetTargetPart(ConstructionPart target_part)
proto native CGame GetGame()