Add game source, converter pipeline, and web port

This commit is contained in:
2026-08-12 18:59:06 +02:00
parent 3e6635eac6
commit bd13ad67cc
97 changed files with 8781 additions and 0 deletions
+91
View File
@@ -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() {
}
}