const preact = require('preact'); const { connect } = require('preact-redux'); const actions = require('../actions'); const GameConstruct = require('./game.construct'); const Targeting = require('./targeting.arrows'); const addState = connect( function receiveState(state) { const { ws, game, account, animating, activeSkill, } = state; function selectSkillTarget(targetConstructId) { if (activeSkill) { return ws.sendGameSkill(game.id, activeSkill.constructId, targetConstructId, activeSkill.skill); } return false; } // intercept self casting skills if (activeSkill && activeSkill.skill.self_targeting) { ws.sendGameSkill(game.id, activeSkill.constructId, null, activeSkill.skill.skill); } return { game, account, animating, activeSkill, selectSkillTarget, }; }, function receiveDispatch(dispatch) { function setActiveSkill(constructId, skill) { dispatch(actions.setActiveSkill(constructId, skill)); } return { setActiveSkill }; } ); function Game(props) { const { game, account, animating, setActiveSkill, } = props; if (!game) return