Пример #1
0
        public override void Apply(IInventoryViewData data)
        {
            base.Apply(data);
            playerInventoryviewData = (PlayerInventoryViewData)viewData;

            if (itemViews == null || itemViews.Length != CellCount)
            {
                itemViews = new PlayerInventoryCellView[CellCount];

                for (var i = 0; i < CellCount; i++)
                {
                    var itemView = Instantiate(cellPrefab, m_GridLayoutGroup.transform).GetComponent <PlayerInventoryCellView>();
                    itemViews[i] = itemView;
                    itemView.transform.SetAsFirstSibling();
                    itemView.SetCellCallback(
                        onCellClick,
                        onCellOptionClick,
                        onCellEnter,
                        onCellExit,
                        _ => m_ScrollRect.enabled = false,
                        _ => m_ScrollRect.enabled = true);
                    itemView.Apply(null);
                }

                m_GridLayoutGroup.constraint      = GridLayoutGroup.Constraint.FixedColumnCount;
                m_GridLayoutGroup.constraintCount = playerInventoryviewData.width;
                m_GridLayoutGroup.cellSize        = itemViews.First().DefaultCellSize;
                m_GridLayoutGroup.spacing         = itemViews.First().MargineSpace;
            }

            for (var i = 0; i < playerInventoryviewData.CellData.Length; i++)
            {
                itemViews[i].Apply(playerInventoryviewData.CellData[i]);
            }
        }
Пример #2
0
        public override void Apply(IInventoryViewData data)
        {
            base.Apply(data);
            InitMap();
            playerEquipmentViewData = viewData as PlayerEquipmentViewData;

            if (itemViews == null || itemViews.Length != CellCount)
            {
                itemViews = new PlayerEquipmentCellView[CellCount];
                for (int i = 0; i < CellCount; i++)
                {
                    var itemView = GetCellBySlot(i);
                    itemViews[i] = itemView;
                    itemView.SetCellCallback(
                        onCellClick,
                        onCellOptionClick,
                        onCellEnter,
                        onCellExit,
                        null,
                        null);
                    itemView.Apply(null);
                }
            }

            for (var i = 0; i < playerEquipmentViewData.CellData.Length; i++)
            {
                itemViews[i].Apply(playerEquipmentViewData.CellData[i]);
            }
        }
Пример #3
0
 public virtual void Apply(IInventoryViewData data)
 {
     viewData = (AbstractInventoryViewData)data;
 }