import { combineReducers } from 'redux';
import { codeBlocksReducer, opDropZoneZIdxReducer } from './codeBlocks/reducers';
import { executionStateReducer } from './executionState/reducers';
import levelReducer from './level/slice';
import { saveStateReducer } from './saveState/reducers';
import { GameScreenReducer } from './gameScreenState/slice';


export const rootReducer = combineReducers({
    codeBlocks: codeBlocksReducer,
    opDropZoneZIdx: opDropZoneZIdxReducer,
    executionState: executionStateReducer,
    level: levelReducer,
    saveState: saveStateReducer,
    gameScreenState: GameScreenReducer
})

export type RootState = ReturnType<typeof rootReducer>
export type AppState = ReturnType<typeof rootReducer>
