This commit is contained in:
ntr 2019-07-21 20:10:52 +10:00
parent 4ab8e99f1d
commit 19d1118cc4
4 changed files with 32 additions and 18 deletions

View File

@ -45,19 +45,19 @@
background-color: @gray; background-color: @gray;
border-width: 0; border-width: 0;
.reclaim {
height: auto;
:hover {
color: @red;
};
}
:active, :hover, :focus { :active, :hover, :focus {
color: white; color: white;
} }
.reclaiming, .reclaiming:hover, .reclaiming:active { &.reclaim {
height: auto;
&:hover {
color: @red;
};
}
&.reclaiming, &.reclaiming:hover, &.reclaiming:active {
background: @red; background: @red;
color: black; color: black;
} }

View File

@ -81,11 +81,15 @@ function Construct(props) {
sendUnequip, sendUnequip,
} = props; } = props;
const fullInfo = itemInfo.items.find(i => i.item === itemEquip);
const isSkill = fullInfo && fullInfo.skill;
const isSpec = fullInfo && fullInfo.spec;
const equipping = itemEquip && (isSkill || isSpec);
function onClick(e) { function onClick(e) {
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
console.log('const click eA') if (equipping) sendVboxApply(construct.id, itemEquip);
if (itemEquip !== null) sendVboxApply(construct.id, itemEquip);
setItemEquip(null); setItemEquip(null);
return setActiveConstruct(construct); return setActiveConstruct(construct);
} }
@ -124,13 +128,11 @@ function Construct(props) {
return true; return true;
} }
// const action = skill ? '' : 'action'; const classes = `${equipping ? 'equipping' : ''}`;
const equip = skillList.includes(vbox.bound[itemEquip]) && !skill ? 'equipping' : '';
const classes = `${equip}`;
return ( return (
<button <button
key={i} key={i}
disabled={!skill && itemEquip === null} disabled={!skill && !equipping}
class={classes} class={classes}
onClick={skillClick} onClick={skillClick}
onDblClick={skillDblClick} onDblClick={skillDblClick}
@ -153,8 +155,6 @@ function Construct(props) {
); );
} }
const specInfo = itemInfo.items.find(i => i.item === s);
function specClick(e) { function specClick(e) {
e.stopPropagation(); e.stopPropagation();
setItemUnequip(s); setItemUnequip(s);

View File

@ -52,7 +52,7 @@ const addState = connect(
function setNav(place) { function setNav(place) {
dispatch(actions.setGame(null)); dispatch(actions.setGame(null));
dispatch(actions.setInstance(null)); dispatch(actions.setInstance(null));
dispatch(actions.setCombiner([null, null, null])); dispatch(actions.setCombiner([]));
dispatch(actions.setReclaiming(false)); dispatch(actions.setReclaiming(false));
dispatch(actions.setActiveSkill(null)); dispatch(actions.setActiveSkill(null));
dispatch(actions.setActiveConstruct(null)); dispatch(actions.setActiveConstruct(null));

View File

@ -71,12 +71,17 @@ const addState = connect(
return dispatch(actions.setVboxSelected(v)); return dispatch(actions.setVboxSelected(v));
} }
function setItemEquip(v) {
return dispatch(actions.setItemEquip(v));
}
return { return {
setCombiner, setCombiner,
setReclaiming, setReclaiming,
setInfo, setInfo,
setVboxHighlight, setVboxHighlight,
setVboxSelected, setVboxSelected,
setItemEquip,
}; };
} }
@ -101,6 +106,8 @@ function Vbox(args) {
vboxSelected, vboxSelected,
setVboxSelected, setVboxSelected,
setItemEquip,
setReclaiming, setReclaiming,
setVboxHighlight, setVboxHighlight,
} = args; } = args;
@ -116,6 +123,13 @@ function Vbox(args) {
function combinerChange(newCombiner) { function combinerChange(newCombiner) {
setCombiner(newCombiner); setCombiner(newCombiner);
if (combiner.length === 1) {
setItemEquip(newCombiner[0]);
} else {
setItemEquip(null);
}
if (newCombiner.every(c => c === null)) return setVboxHighlight([]); if (newCombiner.every(c => c === null)) return setVboxHighlight([]);
const combinerValues = newCombiner.map(cv => player.vbox.bound[cv]).filter(cv => cv); const combinerValues = newCombiner.map(cv => player.vbox.bound[cv]).filter(cv => cv);