oldschool animations

This commit is contained in:
ntr 2019-05-30 20:34:50 +10:00
parent ea04192897
commit 4496374d50
5 changed files with 30 additions and 40 deletions

View File

@ -1,5 +1,5 @@
const preact = require('preact');
const { STATS, eventClasses, getCombatText, constructAvatar } = require('../utils');
const { STATS, eventClasses, getCombatText, ConstructAvatar } = require('../utils');
// const { animationDivs } = require('../animations');
const GameConstruct = require('./game.construct');
const shapes = require('./shapes');
@ -164,7 +164,7 @@ function GamePanel(props) {
<figure
className="img"
onClick={() => selectSkillTarget(construct.id)} >
{constructAvatar(construct.name, construct.id)}
<ConstructAvatar name={construct.name} id={construct.id} />
{combatTextEl}
</figure>
</div>

View File

@ -3,7 +3,7 @@ const preact = require('preact');
const range = require('lodash/range');
const actions = require('../actions');
const { STATS, eventClasses, getCombatText, constructAvatar } = require('../utils');
const { STATS, eventClasses, getCombatText, ConstructAvatar } = require('../utils');
const { animationDivs } = require('../animations');
const shapes = require('./shapes');
@ -105,7 +105,7 @@ function GameConstruct(props) {
<figure
className="img"
onClick={() => selectSkillTarget(construct.id)} >
{constructAvatar(construct.name, construct.id)}
<ConstructAvatar name={construct.name} id={construct.id} />
{combatTextEl}
{anim}
</figure>

View File

@ -1,7 +1,7 @@
const { connect } = require('preact-redux');
const preact = require('preact');
const { stringSort, NULL_UUID, COLOURS, constructAvatar } = require('./../utils');
const { stringSort, NULL_UUID, COLOURS, ConstructAvatar } = require('./../utils');
const actions = require('./../actions');
const InstanceCreateForm = require('./instance.create.form');
@ -118,7 +118,7 @@ function List(args) {
<div
key={construct.id}
className="menu-construct" >
{constructAvatar(construct.name, construct.id)}
<ConstructAvatar name={construct.name} id={construct.id} />
<h2>{construct.name}</h2>
</div>
);

View File

@ -4,7 +4,7 @@ const range = require('lodash/range');
const actions = require('./../actions');
const { COLOURS } = require('./../utils');
const { stringSort, constructAvatar } = require('./../utils');
const { stringSort, ConstructAvatar } = require('./../utils');
const SpawnButton = require('./spawn.button');
const idSort = stringSort('id');
@ -86,7 +86,7 @@ function Team(args) {
className="menu-construct"
style={ { 'border-color': borderColour || 'whitesmoke' } }
onClick={() => selectConstruct(construct.id)} >
{constructAvatar(construct.name, construct.id)}
<ConstructAvatar name={construct.name} id={construct.id} />
<h2>{construct.name}</h2>
</div>
);

View File

@ -1,4 +1,5 @@
const preact = require('preact');
const { Component } = require('preact');
const get = require('lodash/get');
const anime = require('animejs').default;
@ -78,20 +79,25 @@ function clearAnimation(id) {
animations[id] = false;
}
function constructAvatar(name, id) {
// useEffect(() => {
// animateConstruct(id);
// return () => clearAnimation(id);
// });
class ConstructAvatar extends Component {
render() {
return (
<img
id={id}
src={`/molecules/${genAvatar(name)}.svg`}
id={this.props.id}
src={`/molecules/${genAvatar(this.props.name)}.svg`}
height="500"
onError={event => event.target.setAttribute('src', '/molecules/726.svg')}
/>
);
}
componentDidMount() {
animateConstruct(this.props.id);
}
componentDidUnmount() {
clearAnimation(this.props.id);
}
}
function instanceConstruct(name, id) {
@ -100,6 +106,8 @@ function instanceConstruct(name, id) {
// return () => clearAnimation(id);
// });
setTimeout(() => animateConstruct(id), 50);
return (
<div
className="avatar"
@ -109,23 +117,6 @@ function instanceConstruct(name, id) {
);
}
function gameConstructImg(name, id, combatTextEl, selectSkillTarget) {
// useEffect(() => {
// animateConstruct(id);
// return () => clearAnimation(id);
// });
return (
<div
className="avatar"
id={id}
onClick={() => selectSkillTarget(id)}
style={{ 'background-image': `url(/molecules/${genAvatar(name)}.svg)` }} >
{combatTextEl}
</div>
);
}
const NULL_UUID = '00000000-0000-0000-0000-000000000000';
const STATS = {
@ -459,9 +450,8 @@ module.exports = {
convertItem,
numSort,
genAvatar,
constructAvatar,
ConstructAvatar,
instanceConstruct,
gameConstructImg,
requestAvatar,
eventClasses,
getCombatSequence,