//public Material tile_impassable;    // Impassable
    //public Material tile_hazard;        // Hazard
    //public Material tile_default;       // Clear
    //public Material tile_objective;     // Objective
    //public Material tile_rough;         // Rough
    //public Material tile_basebuilding;  // Building/Base
    //public Material tile_circuit;       // Circuit path


    //[SerializeField]
    //public List<Material> tileMaterialsMaster;

    #endregion

    //---------------------------------------------------------------------------------------------------------------------
    //---------------------------------------------------------------------------------------------------------------------
    //
    //                                      !!!!! START AND UPDATERS !!!!!
    //
    //---------------------------------------------------------------------------------------------------------------------
    //---------------------------------------------------------------------------------------------------------------------

    // Use this for initialization

    void Start()
    {
        //InitialiseTileMaterials();

        CameraReferenceSingleton.Instance.InitialiseCam();

        AssignMasksToTileTypes();

        levelImage = convertToExploitableTexture(rawLevelImage);
        RetreiveLevelLayout(levelImage);
        BuildMapGrid(mapLengthColumnsX, mapWidthRowsZ, tilePrefab, mapHolder);
        SetupMinimapCamera();
        SetLevelTerrain(pixelList, groundCells);                                    // First pass, for the flat ground.
        SetLevelBlocks(groundCells, blockPrefab, dBlockHolder);                     // Second pass, for the minable/non-minable blocks.

        ui_ButtonPackAssociatorLocal = GetComponent <UI_ButtonPackAssociator>();    // Links player units and buildings to their respective UI buttons.
        unitPTM = GetComponent <UnitPositionTrackerManager>();                      // Initialises the Position Tracking Manager (PTM)

        SetupStartingArea();                                                        // Place base, centres camera holder on it and provides camera references for other objects!!!
                                                                                    // Also sends order to build UI to the ui building script.
        BuildUnitPools(popcap_inf, enemy_popcap);

        //PlaceBlocks()
    }
 private void Awake()
 {
     uiBPA_Instance = this;
 }