react-native-physics
Version:
A physics library for React Native (in progress)
56 lines (52 loc) • 1.31 kB
JavaScript
import { combineReducers } from 'redux';
import {
SET_BOX_SIZE,
SET_POSITION_AND_VELOCITY,
COLLIDE_BOXES,
RESET
} from './actions';
const rootReducer = combineReducers({
boxes: updateBoxReducer
});
function updateBoxReducer(state = {}, action) {
switch (action.type) {
case SET_POSITION_AND_VELOCITY:
return {
...state,
[]: {
...state[action.payload.interactee],
position: action.payload.position,
velocity: action.payload.velocity
}
};
case COLLIDE_BOXES:
return {
...state,
[]: {
...state[action.payload.id1],
position: action.payload.position1,
velocity: action.payload.velocity1
},
[]: {
...state[action.payload.id2],
position: action.payload.position2,
velocity: action.payload.velocity2
}
};
case SET_BOX_SIZE:
return {
...state,
[]: {
...state[action.payload.interactee],
height: action.payload.height,
width: action.payload.width
}
};
case RESET:
return {
};
default:
return state;
}
}
export default rootReducer;