Clean up idle trees
This commit is contained in:
parent
e924511883
commit
b3949e8583
@ -5,7 +5,6 @@ import electrosphere.net.synchronization.BehaviorTreeIdEnums;
|
||||
|
||||
import electrosphere.entity.state.BehaviorTree;
|
||||
import electrosphere.entity.state.attack.AttackTree;
|
||||
import electrosphere.entity.state.attack.AttackTree.AttackTreeState;
|
||||
import electrosphere.entity.state.movement.AirplaneMovementTree;
|
||||
import electrosphere.entity.state.movement.GroundMovementTree;
|
||||
import electrosphere.engine.Globals;
|
||||
@ -14,16 +13,12 @@ import electrosphere.entity.EntityDataStrings;
|
||||
import electrosphere.entity.EntityUtils;
|
||||
import electrosphere.entity.state.movement.GroundMovementTree.MovementTreeState;
|
||||
import electrosphere.entity.types.creature.CreatureUtils;
|
||||
import electrosphere.net.parser.net.message.EntityMessage;
|
||||
import electrosphere.net.synchronization.annotation.SyncedField;
|
||||
import electrosphere.net.synchronization.annotation.SynchronizableEnum;
|
||||
import electrosphere.net.synchronization.annotation.SynchronizedBehaviorTree;
|
||||
import electrosphere.renderer.actor.Actor;
|
||||
import electrosphere.renderer.anim.Animation;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import org.joml.Vector3d;
|
||||
|
||||
|
||||
@SynchronizedBehaviorTree(name = "idle", isServer = false, correspondingTree="serverIdle")
|
||||
@ -39,18 +34,12 @@ public class IdleTree implements BehaviorTree {
|
||||
}
|
||||
|
||||
@SyncedField
|
||||
IdleTreeState state;
|
||||
private IdleTreeState state;
|
||||
|
||||
Entity parent;
|
||||
|
||||
CopyOnWriteArrayList<EntityMessage> networkMessageQueue = new CopyOnWriteArrayList<EntityMessage>();
|
||||
|
||||
int frameCurrent;
|
||||
|
||||
int maxFrame = 60;
|
||||
|
||||
public IdleTree(Entity e){
|
||||
state = IdleTreeState.NOT_IDLE;
|
||||
state = IdleTreeState.IDLE;
|
||||
parent = e;
|
||||
}
|
||||
|
||||
@ -83,41 +72,6 @@ public class IdleTree implements BehaviorTree {
|
||||
attackTree = CreatureUtils.clientGetAttackTree(parent);
|
||||
}
|
||||
|
||||
//parse attached network messages
|
||||
// for(EntityMessage message : networkMessageQueue){
|
||||
// networkMessageQueue.remove(message);
|
||||
// // System.out.println("MOVE to " + message.getX() + " " + message.getY() + " " + message.getZ());
|
||||
// switch(message.getMessageSubtype()){
|
||||
// case ATTACKUPDATE:
|
||||
// switch(message.gettreeState()){
|
||||
// case 0:
|
||||
// state = IdleTreeState.IDLE;
|
||||
// break;
|
||||
// case 1:
|
||||
// state = IdleTreeState.NOT_IDLE;
|
||||
// break;
|
||||
// }
|
||||
// EntityUtils.getPosition(parent).set(message.getpositionX(),message.getpositionY(),message.getpositionZ());
|
||||
// CreatureUtils.setFacingVector(parent, new Vector3d(message.getrotationX(),message.getrotationY(),message.getrotationZ()));
|
||||
// break;
|
||||
// case ATTACHENTITYTOENTITY:
|
||||
// case CREATE:
|
||||
// case DESTROY:
|
||||
// case MOVE:
|
||||
// case MOVEUPDATE:
|
||||
// case SETBEHAVIORTREE:
|
||||
// case SETFACING:
|
||||
// case SETPOSITION:
|
||||
// case SETPROPERTY:
|
||||
// case SPAWNCREATURE:
|
||||
// case SPAWNITEM:
|
||||
// case KILL:
|
||||
// //silently ignore
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
boolean isIdle;
|
||||
|
||||
//state machine
|
||||
switch(state){
|
||||
@ -132,32 +86,8 @@ public class IdleTree implements BehaviorTree {
|
||||
entityActor.incrementAnimationTime(0.0001);
|
||||
}
|
||||
}
|
||||
// isIdle = true;
|
||||
// if(!movementTreeIsIdle){
|
||||
// isIdle = false;
|
||||
// }
|
||||
// if(hasAttackTree){
|
||||
// if(attackTree.getState() != AttackTreeState.IDLE){
|
||||
// isIdle = false;
|
||||
// }
|
||||
// }
|
||||
// if(!isIdle){
|
||||
// state = IdleTreeState.NOT_IDLE;
|
||||
// }
|
||||
break;
|
||||
case NOT_IDLE:
|
||||
// isIdle = true;
|
||||
// if(!movementTreeIsIdle){
|
||||
// isIdle = false;
|
||||
// }
|
||||
// if(hasAttackTree){
|
||||
// if(attackTree.getState() != AttackTreeState.IDLE){
|
||||
// isIdle = false;
|
||||
// }
|
||||
// }
|
||||
// if(isIdle){
|
||||
// state = IdleTreeState.IDLE;
|
||||
// }
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -178,10 +108,6 @@ public class IdleTree implements BehaviorTree {
|
||||
return rVal;
|
||||
}
|
||||
|
||||
public void addNetworkMessage(EntityMessage networkMessage) {
|
||||
networkMessageQueue.add(networkMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* <p> Automatically generated </p>
|
||||
* <p>
|
||||
|
||||
@ -21,6 +21,7 @@ import electrosphere.renderer.actor.Actor;
|
||||
import electrosphere.renderer.anim.Animation;
|
||||
import electrosphere.server.datacell.utils.DataCellSearchUtils;
|
||||
import electrosphere.server.datacell.utils.ServerBehaviorTreeUtils;
|
||||
import electrosphere.server.poseactor.PoseActor;
|
||||
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
@ -32,16 +33,12 @@ import java.util.concurrent.CopyOnWriteArrayList;
|
||||
public class ServerIdleTree implements BehaviorTree {
|
||||
|
||||
@SyncedField
|
||||
IdleTreeState state;
|
||||
private IdleTreeState state;
|
||||
|
||||
Entity parent;
|
||||
|
||||
CopyOnWriteArrayList<EntityMessage> networkMessageQueue = new CopyOnWriteArrayList<EntityMessage>();
|
||||
|
||||
int frameCurrent;
|
||||
|
||||
int maxFrame = 60;
|
||||
|
||||
public ServerIdleTree(Entity e){
|
||||
state = IdleTreeState.IDLE;
|
||||
parent = e;
|
||||
@ -60,7 +57,6 @@ public class ServerIdleTree implements BehaviorTree {
|
||||
public void start(){
|
||||
//TODO: check if can start moving
|
||||
state = IdleTreeState.IDLE;
|
||||
frameCurrent = 0;
|
||||
}
|
||||
|
||||
public void interrupt(){
|
||||
@ -72,8 +68,7 @@ public class ServerIdleTree implements BehaviorTree {
|
||||
}
|
||||
|
||||
public void simulate(float deltaTime){
|
||||
System.out.println("simulate server chunk");
|
||||
Actor entityActor = EntityUtils.getActor(parent);
|
||||
PoseActor entityActor = EntityUtils.getPoseActor(parent);
|
||||
|
||||
boolean movementTreeIsIdle = movementTreeIsIdle();
|
||||
|
||||
@ -90,9 +85,7 @@ public class ServerIdleTree implements BehaviorTree {
|
||||
case IDLE:
|
||||
if(entityActor != null){
|
||||
if(
|
||||
(!entityActor.isPlayingAnimation() || !entityActor.isPlayingAnimation(Animation.ANIMATION_IDLE_1)) &&
|
||||
(Globals.assetManager.fetchModel(entityActor.getModelPath()) != null && Globals.assetManager.fetchModel(entityActor.getModelPath()).getAnimation(Animation.ANIMATION_IDLE_1) != null)
|
||||
|
||||
(!entityActor.isPlayingAnimation() || !entityActor.isPlayingAnimation(Animation.ANIMATION_IDLE_1))
|
||||
){
|
||||
entityActor.playAnimation(Animation.ANIMATION_IDLE_1,3);
|
||||
entityActor.incrementAnimationTime(0.0001);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user