internal void FillGapsWithNewItems() { for (int x = 0; x < boardSizeX; x++) { for (int y = 0; y < boardSizeY; y++) { Cell cell = m_cells[x, y]; if (!cell.IsEmpty) { continue; } NormalItem item = new NormalItem(); item.SetType(Utils.GetRandomNormalType()); item.SetView(); item.SetViewRoot(m_root); cell.Assign(item); cell.ApplyItemPosition(true); } } }
internal void Fill() { for (int x = 0; x < boardSizeX; x++) { for (int y = 0; y < boardSizeY; y++) { Cell cell = m_cells[x, y]; NormalItem item = new NormalItem(); List <NormalItem.eNormalType> types = new List <NormalItem.eNormalType>(); if (cell.NeighbourBottom != null) { NormalItem nitem = cell.NeighbourBottom.Item as NormalItem; if (nitem != null) { types.Add(nitem.ItemType); } } if (cell.NeighbourLeft != null) { NormalItem nitem = cell.NeighbourLeft.Item as NormalItem; if (nitem != null) { types.Add(nitem.ItemType); } } item.SetType(Utils.GetRandomNormalTypeExcept(types.ToArray())); item.SetView(); item.SetViewRoot(m_root); cell.Assign(item); cell.ApplyItemPosition(false); } } }