DayZ 1.30
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
55 if ( g_Game.IsMultiplayer() || g_Game.IsServer() )
56 {
57 construction_action_data.RefreshAttachmentsToDetach( target_entity, main_part_name );
58 }
59 EntityAI attachment = construction_action_data.GetActualAttachmentToDetach();
60
61 if ( attachment && player.GetInventory().CanAddEntityIntoHands( attachment ) && attachment.GetHierarchyRootPlayer() != player )
62 {
63 return true;
64 }
65 }
66
67 return false;
68 }
class LogManager EntityAI
void BaseBuildingBase()
Определения BaseBuildingBase.c:1326
DayZGame g_Game
Определения DayZGame.c:4074
override bool IsPlayerInside(PlayerBase player, string selection)
Определения Fence.c:661
EntityAI GetActualAttachmentToDetach()
Определения ConstructionActionData.c:566
void RefreshAttachmentsToDetach(EntityAI target, string main_part_name)
Определения ConstructionActionData.c:537

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