public void setPortTownData(PortTownReturnPacket portTownPacket)
    {
        numOfPortTowns = portTownPacket.getNumofPortTowns_actual();

        portTownCoords_minimap = new byte[numOfPortTowns, 2];
        portTownCoords_world   = new float[numOfPortTowns, 2];
        portTownYRotations     = new float[numOfPortTowns];
        portTownIcons          = new MinimapIcon[numOfPortTowns];

        PortTownIndividualPacket tempRoom;

        for (byte index = 0; index < numOfPortTowns; index++)
        {
            tempRoom = portTownPacket.getPortTownArray()[index];

            portTownCoords_minimap[index, 0] = tempRoom.getPortTownCoords_simple()[0];
            portTownCoords_minimap[index, 1] = tempRoom.getPortTownCoords_simple()[1];
            portTownCoords_world[index, 0]   = tempRoom.getPortTownCoords_upscaled()[0];
            portTownCoords_world[index, 1]   = tempRoom.getPortTownCoords_upscaled()[1];
            portTownYRotations[index]        = tempRoom.getPortTownYRotation() + 90f;

            portTownIcons[index] = new MinimapIcon(createNewIcon(portTownSprite, ParentTransform_tiles),
                                                   convertRoomCoordsToUICoords(tempRoom.getPortTownCoords_simple()[0], tempRoom.getPortTownCoords_simple()[1]),
                                                   false);
        }
    }
    private void placeAllPortTowns(PortTownReturnPacket portTownPacket)
    {
        GameObject tempBuilding;
        PortTownIndividualPacket portTownIndividual;
        int     numOfHouses;
        Color32 tempRoofColor;
        Color32 tempWallColor;

        // int brightnessOffset;

        for (byte index1 = 0; index1 < portTownPacket.getNumofPortTowns_actual(); index1++)
        {
            // Place the pier:
            tempBuilding = Instantiate(prefab_portTownPier, portTownPacket.getPortTownLocation_asVector3(index1), Quaternion.identity);
            tempBuilding.transform.eulerAngles = portTownPacket.getPortTownRotation_asVector3(index1);

            interactablesManager.addObjectToArray(tempBuilding, Constants.interactableID_portTownPier, 0);

            // Now place all the houses:
            portTownIndividual = portTownPacket.getPortTownArray()[index1];
            numOfHouses        = portTownIndividual.getHouseLocations().Length;

            for (byte index2 = 0; index2 < numOfHouses; index2++)
            {
                tempBuilding = Instantiate(prefab_portTownHouse, portTownIndividual.getHouseLocations()[index2], Quaternion.identity);
                tempBuilding.transform.eulerAngles = portTownIndividual.getHouseRotation_asVector3(index2);
                tempBuilding.transform.localScale  = portTownIndividual.getHouseScales()[index2];

                tempRoofColor = portTownIndividual.getHouseRoofColors()[index2];
                tempWallColor = portTownIndividual.getHouseWallColors()[index2];

                setHouseColors(tempRoofColor, tempWallColor, tempBuilding.GetComponent <MeshRenderer>().material);
            }
        }
    }