@eriengine/plugin-actor
Advanced tools
Comparing version 1.5.4 to 1.5.5
@@ -5,2 +5,3 @@ import Phaser from 'phaser'; | ||
interface ParticleEmitterOption { | ||
frequency: number; | ||
isTop: boolean; | ||
@@ -14,3 +15,3 @@ emitter: Phaser.GameObjects.Particles.ParticleEmitter; | ||
static destroy(particle: ActorParticle): void; | ||
static createEmitterOption(emitter: Phaser.GameObjects.Particles.ParticleEmitter, isTop: boolean): ParticleEmitterOption; | ||
static createEmitterOption(emitter: Phaser.GameObjects.Particles.ParticleEmitter, isTop: boolean, frequency: number): ParticleEmitterOption; | ||
constructor(actor: Actor); | ||
@@ -68,6 +69,5 @@ /** ν΄λΉ μ‘ν° μΈμ€ν΄μ€κ° μν μ¬μ λ°νν©λλ€. μ¬μ μΆκ°λμ΄μμ§ μλ€λ©΄ `null`μ λ°νν©λλ€. */ | ||
* @param key νν°ν΄ ν€μ λλ€. | ||
* @param frequency νν°ν΄ μ μλ₯Ό λ€μ λΏλ¦¬λ κ°κ²©(ms)μ λλ€. κΈ°λ³Έκ°μ `emitter.frequency`μ λλ€. | ||
* @param quantity νν°ν΄ μ μλ₯Ό λΏλ¦΄ λ, λΏλ €μ§λ μ μ κ°―μμ λλ€. κΈ°λ³Έκ°μ `emitter.quantity`μ λλ€. | ||
* @param frequency νν°ν΄ μ μλ₯Ό λ€μ λΏλ¦¬λ κ°κ²©(ms)μ λλ€. κΈ°λ³Έκ°μ `this.get(key).emitter.frequency`μ λλ€. | ||
*/ | ||
play(key: string, frequency?: number, quantity?: number): this; | ||
play(key: string, frequency?: number): this; | ||
/** | ||
@@ -85,3 +85,3 @@ * μΆλ ₯ μ€μΈ νν°ν΄ ν¨κ³Όλ₯Ό μ€λ¨ν©λλ€. | ||
*/ | ||
explode(key: string, quantity: number): this; | ||
explode(key: string, count: number): this; | ||
/** νν°ν΄ μ΄λ―Έν°μ `depth`λ₯Ό μ λ°μ΄νΈν©λλ€. μλμΌλ‘ νΈμΆλλ©°, *μ§μ νΈμΆνμ§ λ§μμμ€.* */ | ||
@@ -88,0 +88,0 @@ private sortDepth; |
{ | ||
"name": "@eriengine/plugin-actor", | ||
"version": "1.5.4", | ||
"version": "1.5.5", | ||
"description": "Actor plugin for Phaser 3", | ||
@@ -5,0 +5,0 @@ "main": "dist/actor/src/eriengine-core-plugin-actor.js", |
@@ -7,2 +7,3 @@ import Phaser from 'phaser' | ||
interface ParticleEmitterOption { | ||
frequency: number | ||
isTop: boolean | ||
@@ -24,4 +25,4 @@ emitter: Phaser.GameObjects.Particles.ParticleEmitter | ||
static createEmitterOption(emitter: Phaser.GameObjects.Particles.ParticleEmitter, isTop: boolean): ParticleEmitterOption { | ||
return { isTop, emitter } | ||
static createEmitterOption(emitter: Phaser.GameObjects.Particles.ParticleEmitter, isTop: boolean, frequency: number): ParticleEmitterOption { | ||
return { isTop, emitter, frequency } | ||
} | ||
@@ -81,3 +82,3 @@ | ||
const option = ActorParticle.createEmitterOption(emitter, isTop) | ||
const option = ActorParticle.createEmitterOption(emitter, isTop, emitter.frequency!) | ||
@@ -102,3 +103,3 @@ this.remove(key) | ||
const option = ActorParticle.createEmitterOption(emitter, isTop) | ||
const option = ActorParticle.createEmitterOption(emitter, isTop, emitter.frequency) | ||
@@ -169,6 +170,5 @@ this.remove(key) | ||
* @param key νν°ν΄ ν€μ λλ€. | ||
* @param frequency νν°ν΄ μ μλ₯Ό λ€μ λΏλ¦¬λ κ°κ²©(ms)μ λλ€. κΈ°λ³Έκ°μ `emitter.frequency`μ λλ€. | ||
* @param quantity νν°ν΄ μ μλ₯Ό λΏλ¦΄ λ, λΏλ €μ§λ μ μ κ°―μμ λλ€. κΈ°λ³Έκ°μ `emitter.quantity`μ λλ€. | ||
* @param frequency νν°ν΄ μ μλ₯Ό λ€μ λΏλ¦¬λ κ°κ²©(ms)μ λλ€. κΈ°λ³Έκ°μ `this.get(key).emitter.frequency`μ λλ€. | ||
*/ | ||
play(key: string, frequency?: number, quantity?: number): this { | ||
play(key: string, frequency?: number): this { | ||
if (!this.emittermap.has(key)) { | ||
@@ -178,7 +178,16 @@ return this | ||
const { emitter } = this.emittermap.get(key)! | ||
const particle = this.emittermap.get(key)! | ||
emitter | ||
.setFrequency(frequency ?? emitter.frequency) | ||
.setQuantity(quantity ?? emitter.quantity) | ||
let newFrequency = frequency ?? particle.emitter.frequency | ||
// explode λ©μλλ‘ frequency μμ±μ΄ -1μ΄ λμμ κ²½μ°, | ||
// μ΅μ΄ λ±λ‘νλ frequencyλ‘ μ¬μ€μ ν¨. | ||
if (newFrequency < 0) { | ||
newFrequency = particle.frequency | ||
} | ||
particle.frequency = newFrequency | ||
particle.emitter | ||
.setFrequency(newFrequency) | ||
.start() | ||
@@ -212,3 +221,3 @@ | ||
*/ | ||
explode(key: string, quantity: number): this { | ||
explode(key: string, count: number): this { | ||
if (!this.emittermap.has(key)) { | ||
@@ -218,7 +227,10 @@ return this | ||
const { emitter } = this.emittermap.get(key)! | ||
const particle = this.emittermap.get(key)! | ||
const { x, y } = this.actor | ||
emitter.start() | ||
emitter.explode(quantity, x, y) | ||
particle.frequency = particle.emitter.frequency | ||
particle.emitter.start() | ||
particle.emitter.explode(count, x, y) | ||
return this | ||
@@ -225,0 +237,0 @@ } |
Sorry, the diff of this file is too big to display
495348
3366