handleChangeSelectedTile method
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();
}
}