/* * Decompiled with CFR 0.152. * * Could not load the following classes: * com.jme3.animation.AnimEventListener * com.jme3.animation.LoopMode * com.jme3.asset.AssetManager * com.jme3.audio.AudioNode * com.jme3.bullet.collision.shapes.BoxCollisionShape * com.jme3.bullet.collision.shapes.CollisionShape * com.jme3.bullet.control.GhostControl * com.jme3.math.Vector3f * com.jme3.scene.Spatial * com.jme3.scene.control.Control */ package mygame; import com.jme3.animation.AnimEventListener; import com.jme3.animation.LoopMode; import com.jme3.asset.AssetManager; import com.jme3.audio.AudioNode; import com.jme3.bullet.collision.shapes.BoxCollisionShape; import com.jme3.bullet.collision.shapes.CollisionShape; import com.jme3.bullet.control.GhostControl; import com.jme3.math.Vector3f; import com.jme3.scene.Spatial; import com.jme3.scene.control.Control; import mygame.Exchange; import mygame.Player; import mygame.SkillListener; import mygame.WalkingEnemy; import mygame.Weapon; public class Sword extends Weapon implements Runnable { GhostControl ghost; AssetManager assetManager; public Sword(String name) { super(name); } public Sword(String name, AssetManager am, Exchange ex) { super(name); this.assetManager = am; this.exchange = ex; this.COOLDOWN1_TIME = 0.5f; } protected void setupControl() { this.ghost = new GhostControl((CollisionShape)new BoxCollisionShape(new Vector3f(0.25f, 0.25f, 1.75f))); this.ghost.addCollideWithGroup(1); this.addControl((Control)this.ghost); this.modelAnimControl.addListener((AnimEventListener)new SkillListener(this)); } public void skill1() { if (this.cooldown1 <= 0.0f && !this.skill1) { this.skill1 = true; this.cooldown1 = this.COOLDOWN1_TIME; this.modelAnimChannel.setAnim("skill1"); this.modelAnimChannel.setSpeed(2.0f); this.modelAnimChannel.setLoopMode(LoopMode.DontLoop); AudioNode hit = new AudioNode(this.assetManager, "Sounds/Effects/sword_hit1.ogg", false); hit.setLooping(false); hit.setPositional(true); hit.setLocalTranslation(this.getLocalTranslation()); hit.setVolume(5.0f); this.attachChild((Spatial)hit); hit.play(); int i = 0; while (true) { if (i >= Exchange.enemies.size()) break; WalkingEnemy enemy = Exchange.enemies.get(i); if (this.ghost.getOverlappingObjects().contains(enemy.ghost)) { enemy.doDamage(50.0f); Player player = (Player)this.getParent().getParent(); } ++i; } } } public void run() { this.skill1(); } public void skill2() { } }