public void Decompress(CompressedSlot[,] compressedGrid) { for (int i = 0; i < gridSize.y; i++) { for (int j = 0; j < gridSize.x; j++) { CompressedSlot slot = compressedGrid[i, j]; if (slot != null && slot.Module != null) { var canvas = GetComponentInParent <Canvas>().rootCanvas; ModuleItem moduleItem = Instantiate(modulePrefab, canvas.transform).GetComponent <ModuleItem>(); moduleItem.SetUpItem(slot.Module, ShipBuilder.SlotSize); ActiveModulePos = slot.ModuleStartPos; StoreModule(moduleItem); } } } }
public CompressedSlot[,] Compress() { CompressedSlot[,] compressedGrid = new CompressedSlot[gridSize.y, gridSize.x]; for (int i = 0; i < gridSize.y; i++) { for (int j = 0; j < gridSize.x; j++) { SlotItem slot = slotGrid[i, j]; if (slot != null) { compressedGrid[i, j] = new CompressedSlot(slot); } } } return(compressedGrid); }