feat: add poc
This commit is contained in:
parent
43d27b04d9
commit
4a4fa05ce4
53 changed files with 6191 additions and 0 deletions
41
src/systems/SkillEffectSystem.js
Normal file
41
src/systems/SkillEffectSystem.js
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import { System } from '../core/System.js';
|
||||
|
||||
/**
|
||||
* System to track and render skill effects (Fire Breath, Pounce, etc.)
|
||||
*/
|
||||
export class SkillEffectSystem extends System {
|
||||
constructor() {
|
||||
super('SkillEffectSystem');
|
||||
this.requiredComponents = []; // No required components
|
||||
this.priority = 50; // Run after skills but before rendering
|
||||
this.activeEffects = [];
|
||||
}
|
||||
|
||||
process(deltaTime, _entities) {
|
||||
// Update all active effects
|
||||
for (let i = this.activeEffects.length - 1; i >= 0; i--) {
|
||||
const effect = this.activeEffects[i];
|
||||
effect.lifetime -= deltaTime;
|
||||
effect.time += deltaTime;
|
||||
|
||||
if (effect.lifetime <= 0) {
|
||||
this.activeEffects.splice(i, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a skill effect
|
||||
*/
|
||||
addEffect(effect) {
|
||||
this.activeEffects.push(effect);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all active effects
|
||||
*/
|
||||
getEffects() {
|
||||
return this.activeEffects;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue