:weassey
This commit is contained in:
@@ -13,8 +13,8 @@ export const setInstance = value => ({ type: SET_INSTANCE, value });
|
||||
export const SET_GAME = 'SET_GAME';
|
||||
export const setGame = value => ({ type: SET_GAME, value });
|
||||
|
||||
export const SET_ACTIVE_ITEM = 'SET_ACTIVE_ITEM';
|
||||
export const setActiveItem = value => ({ type: SET_ACTIVE_ITEM, value });
|
||||
export const SET_COMBINER = 'SET_COMBINER';
|
||||
export const setCombiner = value => ({ type: SET_COMBINER, value });
|
||||
|
||||
export const SET_ACTIVE_INCOMING = 'SET_ACTIVE_INCOMING';
|
||||
export const setActiveIncoming = value => ({ type: SET_ACTIVE_INCOMING, value });
|
||||
|
||||
@@ -1,53 +1,22 @@
|
||||
const preact = require('preact');
|
||||
const key = require('keymaster');
|
||||
// const key = require('keymaster');
|
||||
|
||||
function convertVar(v) {
|
||||
return v || '';
|
||||
}
|
||||
const VboxContainer = require('./vbox.container');
|
||||
|
||||
function Vbox(vbox) {
|
||||
if (!vbox) return false;
|
||||
|
||||
const free = [];
|
||||
for (let i = 0 ; i < vbox.free[0].length; i++) {
|
||||
free.push([vbox.free[0][i], vbox.free[1][i], vbox.free[2][i]]);
|
||||
}
|
||||
|
||||
const rows = free.map((row, i) => (
|
||||
<tr key={i}>
|
||||
<td>{convertVar(row[0])}</td>
|
||||
<td>{convertVar(row[1])}</td>
|
||||
<td>{convertVar(row[2])}</td>
|
||||
</tr>
|
||||
));
|
||||
|
||||
return (
|
||||
<div className="four columns">
|
||||
<span>vBox</span>
|
||||
<table className="vbox-table">
|
||||
<tbody>
|
||||
{rows}
|
||||
</tbody>
|
||||
</table>
|
||||
{JSON.stringify(vbox)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
function InstanceComponent(props) {
|
||||
function InstanceComponent(args) {
|
||||
const {
|
||||
// account,
|
||||
instance,
|
||||
account,
|
||||
sendInstanceReady,
|
||||
quit,
|
||||
} = props;
|
||||
sendInstanceReady,
|
||||
} = args;
|
||||
|
||||
if (!instance) return <div>...</div>;
|
||||
|
||||
return (
|
||||
<section>
|
||||
<div className="row">
|
||||
<div className="six columns">
|
||||
<div className="three columns">
|
||||
<button
|
||||
className="instance-btn instance-ui-btn glow-btn"
|
||||
onClick={quit}>
|
||||
@@ -55,6 +24,9 @@ function InstanceComponent(props) {
|
||||
</button>
|
||||
</div>
|
||||
<div className="six columns">
|
||||
<h4>next game against: mmmmmashy</h4>
|
||||
</div>
|
||||
<div className="three columns">
|
||||
<button
|
||||
className="instance-btn instance-ui-btn green-btn u-pull-right"
|
||||
onClick={() => sendInstanceReady()}>
|
||||
@@ -63,13 +35,10 @@ function InstanceComponent(props) {
|
||||
</div>
|
||||
</div>
|
||||
<div className="row">
|
||||
{Vbox(instance.vbox)}
|
||||
<div className="four columns">
|
||||
<VboxContainer />
|
||||
<div className="three columns">
|
||||
{JSON.stringify(instance.cryps)}
|
||||
</div>
|
||||
<div className="four columns">
|
||||
ready btn
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
@@ -6,19 +6,20 @@ const Instance = require('./instance.component');
|
||||
|
||||
const addState = connect(
|
||||
function receiveState(state) {
|
||||
const { ws, instance, account } = state;
|
||||
const { ws, instance, account, combiner } = state;
|
||||
|
||||
function sendInstanceReady() {
|
||||
return ws.sendInstanceReady(instance.id);
|
||||
return ws.sendInstanceReady(instance.instance);
|
||||
}
|
||||
|
||||
return { instance, account, sendInstanceReady };
|
||||
},
|
||||
|
||||
function receiveDispatch(dispatch, { instance }) {
|
||||
function receiveDispatch(dispatch, { instance, combiner }) {
|
||||
function quit() {
|
||||
dispatch(actions.setInstance(null));
|
||||
}
|
||||
|
||||
return { quit };
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ const preact = require('preact');
|
||||
|
||||
function renderLogin({ account, submitLogin, submitRegister }) {
|
||||
if (account) return (
|
||||
<div>
|
||||
<div className="header-status">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" className="ping-svg">
|
||||
<path d="M0,50l50,-50v100l50,-50" className="ping-path"/>
|
||||
<path d="M0,50l50,-50v100l50,-50" className="ping-path"/>
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
const preact = require('preact');
|
||||
// const key = require('keymaster');
|
||||
|
||||
function convertVar(v) {
|
||||
return v || '';
|
||||
}
|
||||
|
||||
function Vbox(args) {
|
||||
const {
|
||||
instance,
|
||||
combiner,
|
||||
sendVboxDiscard,
|
||||
sendVboxReclaim,
|
||||
sendVboxCombine,
|
||||
} = args;
|
||||
|
||||
const { vbox } = instance;
|
||||
if (!instance.vbox) return false;
|
||||
|
||||
const free = [];
|
||||
for (let i = 0 ; i < vbox.free[0].length; i++) {
|
||||
free.push([vbox.free[0][i], vbox.free[1][i], vbox.free[2][i]]);
|
||||
}
|
||||
|
||||
const freeRows = free.map((row, i) => (
|
||||
<tr key={i}>
|
||||
<td>{convertVar(row[0])}</td>
|
||||
<td>{convertVar(row[1])}</td>
|
||||
<td>{convertVar(row[2])}</td>
|
||||
</tr>
|
||||
));
|
||||
|
||||
const boundRows = [
|
||||
<tr key={0} >
|
||||
<td>{convertVar(vbox.bound[0])}</td>
|
||||
<td>{convertVar(vbox.bound[1])}</td>
|
||||
<td>{convertVar(vbox.bound[2])}</td>
|
||||
</tr>,
|
||||
<tr key={1}>
|
||||
<td>{convertVar(vbox.bound[3])}</td>
|
||||
<td>{convertVar(vbox.bound[4])}</td>
|
||||
<td>{convertVar(vbox.bound[5])}</td>
|
||||
</tr>,
|
||||
<tr key={2}>
|
||||
<td>{convertVar(vbox.bound[6])}</td>
|
||||
<td>{convertVar(vbox.bound[7])}</td>
|
||||
<td>{convertVar(vbox.bound[8])}</td>
|
||||
</tr>,
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="three columns">
|
||||
<span>vBox</span>
|
||||
<button
|
||||
className="instance-btn instance-ui-btn vbox-btn"
|
||||
onClick={() => sendVboxDiscard()}>
|
||||
Reroll
|
||||
</button>
|
||||
<table className="vbox-table">
|
||||
<tbody>
|
||||
{freeRows}
|
||||
</tbody>
|
||||
</table>
|
||||
<span>INVENTORY</span>
|
||||
<button
|
||||
className="instance-btn instance-ui-btn vbox-btn"
|
||||
onClick={() => sendVboxReclaim()}>
|
||||
reclaim
|
||||
</button>
|
||||
<table className="vbox-table">
|
||||
<tbody>
|
||||
{boundRows}
|
||||
</tbody>
|
||||
</table>
|
||||
<span>iCombinator</span>
|
||||
<button
|
||||
className="instance-btn instance-ui-btn vbox-btn"
|
||||
onClick={() => sendVboxCombine()}>
|
||||
combine
|
||||
</button>
|
||||
{JSON.stringify(vbox)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
module.exports = Vbox;
|
||||
@@ -0,0 +1,48 @@
|
||||
const { connect } = require('preact-redux');
|
||||
|
||||
const actions = require('../actions');
|
||||
|
||||
const Vbox = require('./vbox.component');
|
||||
|
||||
const addState = connect(
|
||||
function receiveState(state) {
|
||||
const { ws, instance, combiner } = state;
|
||||
|
||||
function sendVboxDiscard() {
|
||||
return ws.sendVboxDiscard(instance.instance);
|
||||
}
|
||||
|
||||
function sendVboxCombine() {
|
||||
return console.log('combine', combiner);
|
||||
return ws.sendVboxDiscard(instance.instance);
|
||||
}
|
||||
|
||||
function sendVboxReclaim(v) {
|
||||
return console.log('reclaim', v);
|
||||
return ws.sendVboxDiscard(instance.instance);
|
||||
}
|
||||
|
||||
return {
|
||||
instance,
|
||||
combiner,
|
||||
sendVboxDiscard,
|
||||
sendVboxReclaim,
|
||||
sendVboxCombine,
|
||||
};
|
||||
},
|
||||
|
||||
function receiveDispatch(dispatch, { combiner }) {
|
||||
function addToCombiner(v) {
|
||||
combiner.push(v);
|
||||
if (combiner.length > 3) {
|
||||
dispatch(actions.setCombiner([v]));
|
||||
}
|
||||
dispatch(actions.setCombiner(combiner));
|
||||
}
|
||||
|
||||
return { addToCombiner };
|
||||
}
|
||||
|
||||
);
|
||||
|
||||
module.exports = addState(Vbox);
|
||||
@@ -43,8 +43,8 @@ function registerEvents(store) {
|
||||
return store.dispatch(actions.setInstances(v));
|
||||
}
|
||||
|
||||
function setPlayer(player) {
|
||||
console.log('EVENT ->', 'player', player);
|
||||
function setPlayer(v) {
|
||||
return store.dispatch(actions.setInstance(v));
|
||||
}
|
||||
|
||||
function setZone(zone) {
|
||||
|
||||
@@ -7,7 +7,6 @@ const { createStore, combineReducers } = require('redux');
|
||||
const reducers = require('./reducers');
|
||||
const actions = require('./actions');
|
||||
// const setupKeys = require('./keyboard');
|
||||
// const fizzyText = require('../lib/fizzy-text');
|
||||
const createSocket = require('./socket');
|
||||
const registerEvents = require('./events');
|
||||
|
||||
@@ -18,6 +17,7 @@ const Body = require('./components/body.component');
|
||||
const store = createStore(
|
||||
combineReducers({
|
||||
account: reducers.accountReducer,
|
||||
combiner: reducers.combinerReducer,
|
||||
game: reducers.gameReducer,
|
||||
cryps: reducers.crypsReducer,
|
||||
instances: reducers.instancesReducer,
|
||||
@@ -56,6 +56,4 @@ document.fonts.load('10pt "Jura"').then(() => {
|
||||
|
||||
// eslint-disable-next-line
|
||||
preact.render(<Main />, document.body);
|
||||
|
||||
// fizzyText('cryps.gg');
|
||||
});
|
||||
|
||||
@@ -40,6 +40,16 @@ function instanceReducer(state = defaultInstance, action) {
|
||||
}
|
||||
}
|
||||
|
||||
const defaultCombiner = [];
|
||||
function combinerReducer(state = defaultCombiner, action) {
|
||||
switch (action.type) {
|
||||
case actions.SET_COMBINER:
|
||||
return action.value;
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
||||
|
||||
const defaultGame = null;
|
||||
function gameReducer(state = defaultGame, action) {
|
||||
switch (action.type) {
|
||||
@@ -62,6 +72,7 @@ function wsReducer(state = defaultWs, action) {
|
||||
|
||||
module.exports = {
|
||||
accountReducer,
|
||||
combinerReducer,
|
||||
crypsReducer,
|
||||
gameReducer,
|
||||
instancesReducer,
|
||||
|
||||
Reference in New Issue
Block a user