Ejemplo n.º 1
0
        public void AddSlot(ModuleItem moduleItem)
        {
            GameObject        activeTierCollectionList;
            GameObject        tierActiveCollectionViewPrefab;
            SubCollectionView view = (moduleItem.TankPartModuleType != TankPartModuleType.WEAPON) ? this.hullCollectionView : this.turretCollectionView;

            if (moduleItem.ModuleBehaviourType == ModuleBehaviourType.ACTIVE)
            {
                activeTierCollectionList       = view.activeTierCollectionList;
                tierActiveCollectionViewPrefab = this.tierActiveCollectionViewPrefab;
            }
            else
            {
                activeTierCollectionList       = view.passiveTierCollectionList;
                tierActiveCollectionViewPrefab = this.tierPassiveCollectionViewPrefab;
            }
            for (int i = activeTierCollectionList.transform.childCount; i <= moduleItem.TierNumber; i++)
            {
                this.AddTierCollectionViewToList(activeTierCollectionList, tierActiveCollectionViewPrefab);
            }
            TierCollectionView component = activeTierCollectionList.transform.GetChild(moduleItem.TierNumber).GetComponent <TierCollectionView>();
            GameObject         obj4      = Instantiate <GameObject>(this.collectionSlotPrefab);

            obj4.transform.SetParent(component.slotList.transform, false);
            CollectionSlotView componentInChildren = obj4.GetComponentInChildren <CollectionSlotView>();

            componentInChildren.Init(moduleItem);
            slots.Add(moduleItem, componentInChildren);
        }
Ejemplo n.º 2
0
        private void HighlightPossibleSlots()
        {
            ModuleItem moduleItem = DragAndDropItem.draggedItem.GetComponent <SlotItemView>().ModuleItem;

            this.hullCollectionView.TurnOffSlots();
            this.turretCollectionView.TurnOffSlots();
            if (moduleItem.TankPartModuleType == TankPartModuleType.WEAPON)
            {
                this.turretCollectionView.TurnOnSlotsByTypeAndHighlightForDrop(moduleItem.ModuleBehaviourType);
            }
            else
            {
                this.hullCollectionView.TurnOnSlotsByTypeAndHighlightForDrop(moduleItem.ModuleBehaviourType);
            }
            foreach (KeyValuePair <ModuleItem, CollectionSlotView> pair in CollectionView.slots)
            {
                CollectionSlotView view = pair.Value;
                if (pair.Key == moduleItem)
                {
                    view.TurnOnRenderAboveAll();
                    continue;
                }
                view.GetComponent <DragAndDropCell>().enabled = false;
            }
        }
Ejemplo n.º 3
0
 private void OnAnyItemDragEnd(DragAndDropItem item, PointerEventData eventData)
 {
     this.background.SetActive(false);
     this.turretCollectionView.CancelHighlightForDrop();
     this.hullCollectionView.CancelHighlightForDrop();
     foreach (KeyValuePair <ModuleItem, CollectionSlotView> pair in CollectionView.slots)
     {
         CollectionSlotView view = pair.Value;
         view.GetComponent <DragAndDropCell>().enabled = true;
         view.TurnOffRenderAboveAll();
     }
 }
Ejemplo n.º 4
0
 public void Select(SlotItemView slotItem)
 {
     if (this.selectedSlotItem != slotItem)
     {
         if (this.selectedSlot != null)
         {
             this.selectedSlot.Deselect();
             this.selectedSlot = null;
         }
         if (this.selectedSlotItem != null)
         {
             this.selectedSlotItem.Deselect();
         }
         slotItem.Select();
         this.selectedSlotItem = slotItem;
         if (this.onSelectionChange != null)
         {
             this.onSelectionChange(slotItem.ModuleItem);
         }
     }
 }
Ejemplo n.º 5
0
 public void Select(CollectionSlotView slot)
 {
     if (this.selectedSlot != slot)
     {
         if (this.selectedSlotItem != null)
         {
             this.selectedSlotItem.Deselect();
             this.selectedSlotItem = null;
         }
         if (this.selectedSlot != null)
         {
             this.selectedSlot.Deselect();
         }
         slot.Select();
         this.selectedSlot = slot;
         if (this.onSelectionChange != null)
         {
             this.onSelectionChange(slotToModuleItem[this.selectedSlot]);
         }
     }
 }
Ejemplo n.º 6
0
 public void Clear()
 {
     if (this.selectedSlot != null)
     {
         this.selectedSlot.Deselect();
         this.selectedSlot = null;
         if (this.onSelectionChange != null)
         {
             this.onSelectionChange(null);
         }
     }
     else if (this.selectedSlotItem != null)
     {
         this.selectedSlotItem.Deselect();
         this.selectedSlotItem = null;
         if (this.onSelectionChange != null)
         {
             this.onSelectionChange(null);
         }
     }
 }
Ejemplo n.º 7
0
 public void Update(Dictionary <ModuleItem, CollectionSlotView> collectionViewSlots, Dictionary <ModuleItem, SlotItemView> slotItems)
 {
     if (slotToModuleItem == null)
     {
         slotToModuleItem = new Dictionary <SlotView, ModuleItem>();
         foreach (KeyValuePair <ModuleItem, CollectionSlotView> pair in collectionViewSlots)
         {
             CollectionSlotView key = pair.Value;
             key.onClick += new Action <CollectionSlotView>(this.OnSlotClick);
             slotToModuleItem.Add(key, pair.Key);
         }
     }
     foreach (KeyValuePair <ModuleItem, SlotItemView> pair2 in slotItems)
     {
         if (!registeredSlotItems.Contains(pair2.Key))
         {
             SlotItemView view2;
             registeredSlotItems.Add(pair2.Key);
             pair2.Value.onClick = view2.onClick + new Action <SlotItemView>(this.OnItemClick);
         }
     }
 }
Ejemplo n.º 8
0
 private void OnSlotClick(CollectionSlotView slot)
 {
     this.Select(slot);
 }