Optimised when certain recompute functions are called to prevent unccessary work

This commit is contained in:
Stefan Zermatten
2021-02-04 13:59:08 +02:00
parent 326d1bd165
commit 6d1e3f078c
6 changed files with 24 additions and 11 deletions

View File

@@ -8,7 +8,6 @@ import computeMemo from '/imports/api/creature/computation/engine/computeMemo.js
import writeAlteredProperties from '/imports/api/creature/computation/engine/writeAlteredProperties.js';
import writeCreatureVariables from '/imports/api/creature/computation/engine/writeCreatureVariables.js';
import { recomputeDamageMultipliersById } from '/imports/api/creature/denormalise/recomputeDamageMultipliers.js';
import recomputeInactiveProperties from '/imports/api/creature/denormalise/recomputeInactiveProperties.js';
import recomputeSlotFullness from '/imports/api/creature/denormalise/recomputeSlotFullness.js';
import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js';
import getDependentProperties from '/imports/api/creature/computation/engine/getDependentProperties.js';
@@ -82,11 +81,6 @@ export function recomputeCreatureById(creatureId){
*/
export function recomputeCreatureByDoc(creature){
const creatureId = creature._id;
// Make sure the active state of all properties is correct before doing work
// TODO: Separate this into it's own recompute function and only call it
// when things change activation state
recomputeInactiveProperties(creatureId);
let props = getComputationProperties(creatureId);
let computationMemo = new ComputationMemo(props, creature);
computeMemo(computationMemo);
@@ -97,7 +91,6 @@ export function recomputeCreatureByDoc(creature){
return computationMemo;
}
export function recomputePropertyDependencies(property){
let creature = getRootCreatureAncestor(property);
recomputeCreatureByDependencies({