Add game source, converter pipeline, and web port
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
* 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() {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user