Files
Wackelpeter/decompiled/mygame/Player.java
T

151 lines
4.5 KiB
Java

/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* com.jme3.animation.AnimChannel
* com.jme3.animation.AnimControl
* com.jme3.animation.LoopMode
* com.jme3.bullet.collision.shapes.CapsuleCollisionShape
* com.jme3.bullet.collision.shapes.CollisionShape
* com.jme3.bullet.control.BetterCharacterControl
* com.jme3.bullet.control.GhostControl
* com.jme3.math.Vector3f
* com.jme3.scene.Spatial
* com.jme3.scene.control.Control
*/
package mygame;
import com.jme3.animation.AnimChannel;
import com.jme3.animation.AnimControl;
import com.jme3.animation.LoopMode;
import com.jme3.bullet.collision.shapes.CapsuleCollisionShape;
import com.jme3.bullet.collision.shapes.CollisionShape;
import com.jme3.bullet.control.BetterCharacterControl;
import com.jme3.bullet.control.GhostControl;
import com.jme3.math.Vector3f;
import com.jme3.scene.Spatial;
import com.jme3.scene.control.Control;
import mygame.Character;
import mygame.Exchange;
import mygame.Weapon;
public class Player
extends Character {
public Weapon rightHand;
public Weapon leftHand;
public Spatial hat;
public Spatial model;
public BetterCharacterControl playerControl;
public AnimChannel leftHandAnimChannel;
public AnimControl leftHandAnimControl;
public AnimChannel rightHandAnimChannel;
public AnimControl rightHandAnimControl;
public Vector3f pt;
public GhostControl collision;
public float health = 100.0f;
public static float MAX_HEALTH = 100.0f;
public Player(String name) {
super(name);
}
public Spatial getRightHand() {
return this.rightHand;
}
public void setRightHand(Weapon rightHand) {
this.rightHand = rightHand;
this.setupRightHand();
}
public Spatial getLeftHand() {
return this.leftHand;
}
public void setLeftHand(Weapon leftHand) {
this.leftHand = leftHand;
this.setupLeftHand();
}
public Spatial getHat() {
return this.hat;
}
public void setHat(Spatial hat) {
this.hat = hat;
this.setupHat();
}
public Spatial getModel() {
return this.model;
}
public void setModel(Spatial model) {
this.model = model;
this.setupModel();
this.setupControl();
this.setupModelControl();
this.wholeBody.attachChild(this.model);
}
public void switchHands() {
this.wholeBody.detachChild((Spatial)this.leftHand);
this.wholeBody.detachChild((Spatial)this.rightHand);
Weapon temp = this.rightHand;
this.setRightHand(this.leftHand);
this.setLeftHand(temp);
}
public void die() {
this.modelAnimChannel.setAnim("die");
this.modelAnimChannel.setLoopMode(LoopMode.DontLoop);
this.wholeBody.setLocalTranslation(0.0f, 0.5f, 0.0f);
this.wholeBody.detachChild(this.hat);
this.wholeBody.detachChild((Spatial)this.rightHand);
this.wholeBody.detachChild((Spatial)this.leftHand);
}
private void setupLeftHand() {
this.leftHand.setLocalTranslation(0.4f, 0.3f, 0.4f);
this.leftHand.setLocalScale(0.35f);
this.wholeBody.attachChild((Spatial)this.leftHand);
}
private void setupRightHand() {
this.rightHand.setLocalTranslation(-0.4f, 0.3f, 0.4f);
this.rightHand.setLocalScale(0.35f);
this.wholeBody.attachChild((Spatial)this.rightHand);
}
private void setupHat() {
this.hat.setLocalScale(0.35f);
this.hat.setLocalTranslation(0.0f, 0.9f, -0.2f);
this.hat.rotate(-0.4f, 0.0f, 0.0f);
this.wholeBody.attachChild(this.hat);
}
public void setupModel() {
this.model.setLocalScale(0.5f);
this.wholeBody.attachChild(this.model);
}
private void setupControl() {
this.playerControl = new BetterCharacterControl(0.5f, 1.0f, 8.0f);
this.addControl((Control)this.playerControl);
this.collision = new GhostControl((CollisionShape)new CapsuleCollisionShape(1.0f, 0.5f));
this.collision.addCollideWithGroup(2);
this.addControl((Control)this.collision);
Exchange.bulletAppState.getPhysicsSpace().add((Object)this.collision);
}
public void setupModelControl() {
this.modelAnimControl = (AnimControl)this.model.getControl(AnimControl.class);
this.modelAnimChannel = this.modelAnimControl.createChannel();
this.modelAnimChannel.setAnim("stand");
}
public void heal(float amount) {
this.health = amount + this.health > MAX_HEALTH ? MAX_HEALTH : (this.health += amount);
}
}