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

◆ ShowActionMenuCombine()

void Icon::ShowActionMenuCombine ( EntityAI entity1,
EntityAI entity2,
int combinationFlags,
Widget w,
bool color_test )
inlineprotected

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

617 {
618 int lastFlag = 0;
619 ContextMenu cmenu = ContextMenu.Cast(GetGame().GetUIManager().GetMenu().GetContextMenu());
620 m_am_entity1 = entity1;
621 m_am_entity2 = entity2;
622 cmenu.Hide();
623 cmenu.Clear();
624 int id = -1;
625
626 if ( entity1 == null || entity2 == null ) return;
627
628 if ( combinationFlags == InventoryCombinationFlags.NONE )
629 {
630 if ( color_test )
631 {
632 ColorManager.GetInstance().SetColor( w, ColorManager.RED_COLOR );
633 ItemManager.GetInstance().ShowSourceDropzone( entity2 );
634 }
635 return;
636 }
637
638 if (combinationFlags & InventoryCombinationFlags.ADD_AS_CARGO)
639 {
640 lastFlag = InventoryCombinationFlags.ADD_AS_CARGO;
641 cmenu.Add( "#inv_context_add_as_cargo", this, "OnPerformCombination", new Param1<int>( lastFlag ) );
642 }
643 if (combinationFlags & InventoryCombinationFlags.ADD_AS_ATTACHMENT)
644 {
645 lastFlag = InventoryCombinationFlags.ADD_AS_ATTACHMENT;
646 cmenu.Add( "#inv_context_add_as_attachment", this, "OnPerformCombination", new Param1<int>( lastFlag ));
647 }
648
649 if (combinationFlags & InventoryCombinationFlags.COMBINE_QUANTITY2)
650 {
651 lastFlag = InventoryCombinationFlags.COMBINE_QUANTITY2;
652 cmenu.Add("#inv_context_combine_quantity", this, "OnPerformCombination", new Param1<int>( lastFlag ));
653 }
654
655 if (combinationFlags & InventoryCombinationFlags.SET_ACTION)
656 {
657 lastFlag = InventoryCombinationFlags.SET_ACTION;
658 cmenu.Add("#inv_context_attach_magazine", this, "OnPerformCombination", new Param1<int>( lastFlag ));
659 }
660
661 if (combinationFlags & InventoryCombinationFlags.PERFORM_ACTION)
662 {
663 lastFlag = InventoryCombinationFlags.PERFORM_ACTION;
664 cmenu.Add("Perform action", this, "OnPerformCombination", new Param1<int>( lastFlag ));
665 }
666
667 if (color_test)
668 {
669 if (lastFlag == 0)
670 {
671 ItemManager.GetInstance().HideDropzones();
672 ItemManager.GetInstance().GetCenterDropzone().SetAlpha( 1 );
673 ColorManager.GetInstance().SetColor( w, ColorManager.RED_COLOR );
674 }
675 else if (lastFlag == InventoryCombinationFlags.ADD_AS_ATTACHMENT || lastFlag == InventoryCombinationFlags.ADD_AS_CARGO )
676 {
677 ItemManager.GetInstance().HideDropzones();
678 ItemManager.GetInstance().GetCenterDropzone().SetAlpha( 1 );
679 ColorManager.GetInstance().SetColor( w, ColorManager.GREEN_COLOR );
680 }
681 else
682 {
683 ItemManager.GetInstance().HideDropzones();
684 ItemManager.GetInstance().GetCenterDropzone().SetAlpha( 1 );
685 ColorManager.GetInstance().SetColor( w, ColorManager.COMBINE_COLOR );
686 }
687 }
688 else if (cmenu.Count() >= 1)
689 {
690 OnPerformCombination(combinationFlags);
691 return;
692 }
693 }
override ContextMenu GetContextMenu()
Определения InventoryMenu.c:80
void OnPerformCombination(int combinationFlags)
Определения Icon.c:454
proto native CGame GetGame()

Перекрестные ссылки InventoryCombinationFlags::ADD_AS_ATTACHMENT, InventoryCombinationFlags::ADD_AS_CARGO, ColorManager::COMBINE_COLOR, InventoryCombinationFlags::COMBINE_QUANTITY2, ItemManager::GetCenterDropzone(), GetContextMenu(), GetGame(), ColorManager::GetInstance(), ItemManager::GetInstance(), ColorManager::GREEN_COLOR, ItemManager::HideDropzones(), InventoryCombinationFlags::NONE, OnPerformCombination(), InventoryCombinationFlags::PERFORM_ACTION, ColorManager::RED_COLOR, InventoryCombinationFlags::SET_ACTION, ColorManager::SetColor() и ItemManager::ShowSourceDropzone().