handleChangeSelectedTile method

void handleChangeSelectedTile(
  1. int newSelectedTileIndex
)

this is the logic applied when user change of selected tile

Implementation

void handleChangeSelectedTile(int newSelectedTileIndex) {
  if(false == _handleChangeSelectedTileInitialized) {
    _debugWarn("handleChangeSelectedTile was called but _handleChangeSelectedTileInitialized was not attached");
    return;
  }

  bool outOfBound = (tileLayers.length <= selectedTileIndex);
  if(outOfBound) {
    _debugWarn("handleChangeSelectedTile Error: selectedTileIndex ($selectedTileIndex) is out out range (lenght => ${tileLayers.length}), did not affect new selected tile");
    _debugWarn("handleChangeSelectedTile Error: did not affect new selected tile, verify tile index selection implementation");
    return;
  }

  // change only if selected tile is different
  if (newSelectedTileIndex != _selectedTileIndex) {
    _selectedTileIndex = newSelectedTileIndex; // set local controller selectedTileIndex
    _handleChangeSelectedTile(newSelectedTileIndex); // will executed injected logic
    onSelectedTileChanged();
  }
}