Overhauled spell casting UX

This commit is contained in:
Stefan Zermatten
2022-02-27 22:14:32 +02:00
parent 49fa9cc470
commit e6c7d79d7d
17 changed files with 557 additions and 244 deletions

View File

@@ -5,11 +5,21 @@ import writeScope from './computation/writeComputation/writeScope.js';
import writeErrors from './computation/writeComputation/writeErrors.js';
export default function computeCreature(creatureId){
if (Meteor.isClient) return;
const computation = buildCreatureComputation(creatureId);
computeCreatureComputation(computation);
writeAlteredProperties(computation);
writeScope(creatureId, computation.scope);
writeErrors(creatureId, computation.errors);
try {
computeCreatureComputation(computation);
writeAlteredProperties(computation);
writeScope(creatureId, computation.scope);
writeErrors(creatureId, computation.errors);
} catch (e){
computation.errors.push({
type: 'crash',
details: e.reason,
});
} finally {
writeErrors(creatureId, [...computation.errors]);
}
}
// For now just recompute the whole creature, TODO only recompute a single