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

◆ ActionCondition()

override bool ActionTakeMaterialToHands::ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprivate

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

44 {
45 EntityAI target_entity = EntityAI.Cast( target.GetObject() );
46 if ( target_entity && target_entity.CanUseConstruction() )
47 {
48 BaseBuildingBase base_building = BaseBuildingBase.Cast( target_entity );
49 if(!base_building.IsPlayerInside(player,""))
50 return false;
51
52 ConstructionActionData construction_action_data = player.GetConstructionActionData();
53 string main_part_name = target_entity.GetActionComponentName( target.GetComponentIndex() );
54 //Print(main_part_name);
55
56 if ( GetGame().IsMultiplayer() || GetGame().IsServer() )
57 {
58 construction_action_data.RefreshAttachmentsToDetach( target_entity, main_part_name );
59 }
60 EntityAI attachment = construction_action_data.GetActualAttachmentToDetach();
61
62 if ( attachment && player.GetInventory().CanAddEntityIntoHands( attachment ) && attachment.GetHierarchyRootPlayer() != player )
63 {
64 return true;
65 }
66 }
67
68 return false;
69 }
class LogManager EntityAI
void BaseBuildingBase()
Определения BaseBuildingBase.c:1328
override bool IsPlayerInside(PlayerBase player, string selection)
Определения Fence.c:615
EntityAI GetActualAttachmentToDetach()
Определения ConstructionActionData.c:380
void RefreshAttachmentsToDetach(EntityAI target, string main_part_name)
Определения ConstructionActionData.c:351
proto native CGame GetGame()

Перекрестные ссылки ActionTarget, ConstructionActionData::GetActualAttachmentToDetach(), GetGame(), BaseBuildingBase::IsPlayerInside() и ConstructionActionData::RefreshAttachmentsToDetach().