/* * Decompiled with CFR 0.152. * * Could not load the following classes: * com.jme3.light.Light * com.jme3.math.Vector3f * com.jme3.post.SceneProcessor * com.jme3.renderer.RenderManager * com.jme3.renderer.ViewPort * com.jme3.scene.control.AbstractControl * com.jme3.scene.control.Control */ package mygame; import com.jme3.light.Light; import com.jme3.math.Vector3f; import com.jme3.post.SceneProcessor; import com.jme3.renderer.RenderManager; import com.jme3.renderer.ViewPort; import com.jme3.scene.control.AbstractControl; import com.jme3.scene.control.Control; import mygame.Exchange; import mygame.Fireball; import mygame.WalkingEnemy; public class FireballControl extends AbstractControl { protected void controlUpdate(float tpf) { WalkingEnemy enemy; Fireball fireball = (Fireball)this.spatial; if (!fireball.explode) { fireball.bodyControl.setWalkDirection(fireball.direction); } else { fireball.bodyControl.setWalkDirection(Vector3f.ZERO); } Vector3f lightpos = fireball.collisionGhost.getPhysicsLocation(); lightpos.setY(0.5f); fireball.light.setPosition(lightpos); int i = 0; while (true) { Exchange cfr_ignored_0 = fireball.exchange; if (i >= Exchange.enemies.size()) break; Exchange cfr_ignored_1 = fireball.exchange; enemy = Exchange.enemies.get(i); if (fireball.collisionGhost.getOverlappingObjects().contains(enemy.ghost)) { fireball.explode = true; } ++i; } if (fireball.explode) { i = 0; while (true) { Exchange cfr_ignored_2 = fireball.exchange; if (i >= Exchange.enemies.size()) break; Exchange cfr_ignored_3 = fireball.exchange; enemy = Exchange.enemies.get(i); if (fireball.damageAreaGhost.getOverlappingObjects().contains(enemy.ghost)) { enemy.doDamage(100.0f); fireball.explode(); } ++i; } } fireball.lifetime -= tpf; if (fireball.lifetime <= 0.0f && !fireball.explode) { fireball.explode(); } if (fireball.timer > 0.0f) { fireball.timer += tpf; if ((double)fireball.timer > 0.2) { fireball.bodyControl.setEnabled(false); fireball.removeControl((Control)fireball.bodyControl); fireball.removeControl((Control)fireball.collisionGhost); fireball.collisionGhost.setEnabled(false); fireball.removeControl((Control)fireball.damageAreaGhost); fireball.damageAreaGhost.setEnabled(false); fireball.fire.setEnabled(false); } if (fireball.timer > 2.0f) { fireball.removeFromParent(); Exchange.viewPort.removeProcessor((SceneProcessor)fireball.dlsr); Exchange.rootNode.removeLight((Light)fireball.light); } } } protected void controlRender(RenderManager rm, ViewPort vp) { } }