aotds-docks/src/lib/shipDux/structure/hull.js

32 lines
617 B
JavaScript

import { Updux } from "updux";
import u from 'updeep';
import reqs from '../reqs.js';
const dux = new Updux({
subduxes: {
reqs
},
initial: {
rating: 0, min: 0, max: 0,
},
actions: {
setShipMass: null,
setHull: null,
}
});
export default dux;
dux.setMutation( 'setHull', rating => u({rating,
reqs: {
mass: rating, cost: 2 * rating
}}) );
dux.setMutation( 'setShipMass', mass => state => {
let {rating} = state;
if(rating > mass) rating = mass;
const min = Math.ceil(mass/10);
if(rating < min) rating = min;
return u({max: mass, min, rating}, state);
})