From 6cf8edf9f218212b73b094cf6c851c264f6735b5 Mon Sep 17 00:00:00 2001
From: austin
Date: Wed, 31 Jul 2024 16:50:01 -0400
Subject: [PATCH] sync btree constructor refactor
---
.../entity/state/attack/ClientAttackTree.java | 12 +++++-------
.../entity/state/attack/ServerAttackTree.java | 7 ++++---
.../entity/state/block/ClientBlockTree.java | 12 +++++-------
.../entity/state/block/ServerBlockTree.java | 9 +++++----
.../entity/state/equip/ClientEquipState.java | 13 ++++++-------
.../entity/state/equip/ServerEquipState.java | 8 +++++---
.../state/gravity/ClientGravityTree.java | 19 +++++++++----------
.../state/gravity/ServerGravityTree.java | 14 ++++++++------
.../entity/state/idle/ClientIdleTree.java | 12 +++++-------
.../entity/state/idle/ServerIdleTree.java | 9 +++++----
.../entity/state/life/ClientLifeTree.java | 12 +++++-------
.../entity/state/life/ServerLifeTree.java | 13 +++++++------
.../groundmove/ClientGroundMovementTree.java | 17 ++++++++---------
.../groundmove/ServerGroundMovementTree.java | 13 +++++++------
.../state/movement/jump/ClientJumpTree.java | 16 +++++++---------
.../state/movement/jump/ServerJumpTree.java | 13 +++++++------
16 files changed, 98 insertions(+), 101 deletions(-)
diff --git a/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java b/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java
index 40f8af54..39a085cf 100644
--- a/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java
+++ b/src/main/java/electrosphere/entity/state/attack/ClientAttackTree.java
@@ -94,7 +94,7 @@ public class ClientAttackTree implements BehaviorTree {
String projectileToFire = null;
String attackingPoint = null;
- public ClientAttackTree(Entity e){
+ private ClientAttackTree(Entity e, Object ... params){
setState(AttackTreeState.IDLE);
setDriftState(AttackTreeDriftState.NO_DRIFT);
parent = e;
@@ -461,16 +461,14 @@ public class ClientAttackTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ClientAttackTree attachTree(Entity parent){
- ClientAttackTree rVal = new ClientAttackTree(parent);
- //put manual code here (setting params, etc)
-
-
+ public static ClientAttackTree attachTree(Entity parent, Object ... params){
+ ClientAttackTree rVal = new ClientAttackTree(parent,params);
//!!WARNING!! from here below should not be touched
//This was generated automatically to properly alert various systems that the btree exists and should be tracked
parent.putData(EntityDataStrings.TREE_CLIENTATTACKTREE, rVal);
- Globals.clientScene.registerBehaviorTree(rVal);
+ Globals.clientSceneWrapper.getScene().registerBehaviorTree(rVal);
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_CLIENTATTACKTREE_ID);
return rVal;
}
diff --git a/src/main/java/electrosphere/entity/state/attack/ServerAttackTree.java b/src/main/java/electrosphere/entity/state/attack/ServerAttackTree.java
index a463b0a0..a258f29c 100644
--- a/src/main/java/electrosphere/entity/state/attack/ServerAttackTree.java
+++ b/src/main/java/electrosphere/entity/state/attack/ServerAttackTree.java
@@ -80,7 +80,7 @@ public class ServerAttackTree implements BehaviorTree {
String projectileToFire = null;
String attackingPoint = null;
- public ServerAttackTree(Entity e){
+ private ServerAttackTree(Entity e, Object ... params){
state = AttackTreeState.IDLE;
driftState = AttackTreeDriftState.NO_DRIFT;
parent = e;
@@ -517,9 +517,10 @@ public class ServerAttackTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ServerAttackTree attachTree(Entity parent){
- ServerAttackTree rVal = new ServerAttackTree(parent);
+ public static ServerAttackTree attachTree(Entity parent, Object ... params){
+ ServerAttackTree rVal = new ServerAttackTree(parent,params);
//put manual code here (setting params, etc)
diff --git a/src/main/java/electrosphere/entity/state/block/ClientBlockTree.java b/src/main/java/electrosphere/entity/state/block/ClientBlockTree.java
index ada16137..77b60823 100644
--- a/src/main/java/electrosphere/entity/state/block/ClientBlockTree.java
+++ b/src/main/java/electrosphere/entity/state/block/ClientBlockTree.java
@@ -49,9 +49,9 @@ public class ClientBlockTree implements BehaviorTree {
/**
* Constructor
*/
- private ClientBlockTree(Entity parent, BlockSystem blockSystem){
+ private ClientBlockTree(Entity parent, Object ... params){
this.parent = parent;
- this.blockSystem = blockSystem;
+ this.blockSystem = (BlockSystem)params[0];
this.stateTransitionUtil = StateTransitionUtil.create(parent, false, new StateTransitionUtilItem[]{
StateTransitionUtilItem.create(
BlockState.WIND_UP,
@@ -129,12 +129,10 @@ public class ClientBlockTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ClientBlockTree attachTree(Entity parent, BlockSystem blockSystem){
- ClientBlockTree rVal = new ClientBlockTree(parent, blockSystem);
- //put manual code here (setting params, etc)
-
-
+ public static ClientBlockTree attachTree(Entity parent, Object ... params){
+ ClientBlockTree rVal = new ClientBlockTree(parent,params);
//!!WARNING!! from here below should not be touched
//This was generated automatically to properly alert various systems that the btree exists and should be tracked
parent.putData(EntityDataStrings.TREE_CLIENTBLOCKTREE, rVal);
diff --git a/src/main/java/electrosphere/entity/state/block/ServerBlockTree.java b/src/main/java/electrosphere/entity/state/block/ServerBlockTree.java
index a4e231e7..a44e8c17 100644
--- a/src/main/java/electrosphere/entity/state/block/ServerBlockTree.java
+++ b/src/main/java/electrosphere/entity/state/block/ServerBlockTree.java
@@ -44,9 +44,9 @@ public class ServerBlockTree implements BehaviorTree {
/**
* Constructor
*/
- private ServerBlockTree(Entity parent, BlockSystem blockSystem){
+ private ServerBlockTree(Entity parent, Object ... params){
this.parent = parent;
- this.blockSystem = blockSystem;
+ this.blockSystem = (BlockSystem)params[0];
this.stateTransitionUtil = StateTransitionUtil.create(parent, true, new StateTransitionUtilItem[]{
StateTransitionUtilItem.create(
BlockState.WIND_UP,
@@ -156,9 +156,10 @@ public class ServerBlockTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ServerBlockTree attachTree(Entity parent, BlockSystem blockSystem){
- ServerBlockTree rVal = new ServerBlockTree(parent, blockSystem);
+ public static ServerBlockTree attachTree(Entity parent, Object ... params){
+ ServerBlockTree rVal = new ServerBlockTree(parent,params);
//put manual code here (setting params, etc)
diff --git a/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java b/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java
index cfc163bb..0bfade82 100644
--- a/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java
+++ b/src/main/java/electrosphere/entity/state/equip/ClientEquipState.java
@@ -49,7 +49,8 @@ public class ClientEquipState implements BehaviorTree {
* @param parent the entity this is attached to
* @param equipPoints the list of available points
*/
- private ClientEquipState(Entity parent, List equipPoints){
+ private ClientEquipState(Entity parent, Object ... params){
+ List equipPoints = (List)params[0];
this.parent = parent;
for(EquipPoint point : equipPoints){
this.equipPoints.add(point);
@@ -418,16 +419,14 @@ public class ClientEquipState implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ClientEquipState attachTree(Entity parent, List equipPoints){
- ClientEquipState rVal = new ClientEquipState(parent, equipPoints);
- //put manual code here (setting params, etc)
-
-
+ public static ClientEquipState attachTree(Entity parent, Object ... params){
+ ClientEquipState rVal = new ClientEquipState(parent,params);
//!!WARNING!! from here below should not be touched
//This was generated automatically to properly alert various systems that the btree exists and should be tracked
parent.putData(EntityDataStrings.TREE_CLIENTEQUIPSTATE, rVal);
- Globals.clientScene.registerBehaviorTree(rVal);
+ Globals.clientSceneWrapper.getScene().registerBehaviorTree(rVal);
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_CLIENTEQUIPSTATE_ID);
return rVal;
}
diff --git a/src/main/java/electrosphere/entity/state/equip/ServerEquipState.java b/src/main/java/electrosphere/entity/state/equip/ServerEquipState.java
index dc64cc8b..bdc87a7b 100644
--- a/src/main/java/electrosphere/entity/state/equip/ServerEquipState.java
+++ b/src/main/java/electrosphere/entity/state/equip/ServerEquipState.java
@@ -58,7 +58,8 @@ public class ServerEquipState implements BehaviorTree {
//the map of equip point id -> entity equipped at said point
Map equipMap = new HashMap();
- public ServerEquipState(Entity parent, List equipPoints){
+ public ServerEquipState(Entity parent, Object ... params){
+ List equipPoints = (List)params[0];
this.parent = parent;
for(EquipPoint point : equipPoints){
this.equipPoints.add(point);
@@ -430,9 +431,10 @@ public class ServerEquipState implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ServerEquipState attachTree(Entity parent, List equipPoints){
- ServerEquipState rVal = new ServerEquipState(parent, equipPoints);
+ public static ServerEquipState attachTree(Entity parent, Object ... params){
+ ServerEquipState rVal = new ServerEquipState(parent,params);
//put manual code here (setting params, etc)
diff --git a/src/main/java/electrosphere/entity/state/gravity/ClientGravityTree.java b/src/main/java/electrosphere/entity/state/gravity/ClientGravityTree.java
index 4a4adcba..d6451614 100644
--- a/src/main/java/electrosphere/entity/state/gravity/ClientGravityTree.java
+++ b/src/main/java/electrosphere/entity/state/gravity/ClientGravityTree.java
@@ -51,12 +51,13 @@ public class ClientGravityTree implements BehaviorTree {
List networkMessageQueue = new CopyOnWriteArrayList();
- private ClientGravityTree(Entity e, Collidable collidable, DBody body, int fallFrame){
+ private ClientGravityTree(Entity e, Object ... params){
+ //Collidable collidable, DBody body, int fallFrame
state = GravityTreeState.ACTIVE;
parent = e;
- this.body = body;
- this.collidable = collidable;
- this.fallFrame = fallFrame;
+ this.collidable = (Collidable)params[0];
+ this.body = (DBody)params[1];
+ this.fallFrame = (int)params[2];
}
// public void setCollisionObject(CollisionObject body, Collidable collidable){
@@ -197,16 +198,14 @@ public class ClientGravityTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ClientGravityTree attachTree(Entity parent, Collidable collidable, DBody body, int fallFrame){
- ClientGravityTree rVal = new ClientGravityTree(parent, collidable, body, fallFrame);
- //put manual code here (setting params, etc)
-
-
+ public static ClientGravityTree attachTree(Entity parent, Object ... params){
+ ClientGravityTree rVal = new ClientGravityTree(parent,params);
//!!WARNING!! from here below should not be touched
//This was generated automatically to properly alert various systems that the btree exists and should be tracked
parent.putData(EntityDataStrings.TREE_CLIENTGRAVITY, rVal);
- Globals.clientScene.registerBehaviorTree(rVal);
+ Globals.clientSceneWrapper.getScene().registerBehaviorTree(rVal);
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_CLIENTGRAVITY_ID);
return rVal;
}
diff --git a/src/main/java/electrosphere/entity/state/gravity/ServerGravityTree.java b/src/main/java/electrosphere/entity/state/gravity/ServerGravityTree.java
index 20afb87a..48a2a127 100644
--- a/src/main/java/electrosphere/entity/state/gravity/ServerGravityTree.java
+++ b/src/main/java/electrosphere/entity/state/gravity/ServerGravityTree.java
@@ -50,12 +50,13 @@ public class ServerGravityTree implements BehaviorTree {
List networkMessageQueue = new CopyOnWriteArrayList();
- private ServerGravityTree(Entity e, Collidable collidable, DBody body, int fallFrame){
+ private ServerGravityTree(Entity e, Object ... params){
+ //Collidable collidable, DBody body, int fallFrame
state = GravityTreeState.ACTIVE;
parent = e;
- this.body = body;
- this.collidable = collidable;
- this.fallFrame = fallFrame;
+ this.collidable = (Collidable)params[0];
+ this.body = (DBody)params[1];
+ this.fallFrame = (int)params[2];
}
// public void setCollisionObject(CollisionObject body, Collidable collidable){
@@ -224,9 +225,10 @@ public class ServerGravityTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ServerGravityTree attachTree(Entity parent, Collidable collidable, DBody body, int fallFrame){
- ServerGravityTree rVal = new ServerGravityTree(parent,collidable,body,fallFrame);
+ public static ServerGravityTree attachTree(Entity parent, Object ... params){
+ ServerGravityTree rVal = new ServerGravityTree(parent,params);
//put manual code here (setting params, etc)
diff --git a/src/main/java/electrosphere/entity/state/idle/ClientIdleTree.java b/src/main/java/electrosphere/entity/state/idle/ClientIdleTree.java
index 0a176074..4714a759 100644
--- a/src/main/java/electrosphere/entity/state/idle/ClientIdleTree.java
+++ b/src/main/java/electrosphere/entity/state/idle/ClientIdleTree.java
@@ -42,7 +42,7 @@ public class ClientIdleTree implements BehaviorTree {
* Creates an idle tree
* @param e the entity to attach the tree to
*/
- public ClientIdleTree(Entity e){
+ public ClientIdleTree(Entity e, Object ... params){
state = IdleTreeState.IDLE;
parent = e;
//check if this is a creature, if so add its idle data
@@ -134,16 +134,14 @@ public class ClientIdleTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ClientIdleTree attachTree(Entity parent){
- ClientIdleTree rVal = new ClientIdleTree(parent);
- //put manual code here (setting params, etc)
-
-
+ public static ClientIdleTree attachTree(Entity parent, Object ... params){
+ ClientIdleTree rVal = new ClientIdleTree(parent,params);
//!!WARNING!! from here below should not be touched
//This was generated automatically to properly alert various systems that the btree exists and should be tracked
parent.putData(EntityDataStrings.TREE_IDLE, rVal);
- Globals.clientScene.registerBehaviorTree(rVal);
+ Globals.clientSceneWrapper.getScene().registerBehaviorTree(rVal);
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_IDLE_ID);
return rVal;
}
diff --git a/src/main/java/electrosphere/entity/state/idle/ServerIdleTree.java b/src/main/java/electrosphere/entity/state/idle/ServerIdleTree.java
index 413b6e96..bd2f43ee 100644
--- a/src/main/java/electrosphere/entity/state/idle/ServerIdleTree.java
+++ b/src/main/java/electrosphere/entity/state/idle/ServerIdleTree.java
@@ -46,10 +46,10 @@ public class ServerIdleTree implements BehaviorTree {
* Creates a server idle tree
* @param e The entity to attach it to
*/
- public ServerIdleTree(Entity e, IdleData idleData){
+ public ServerIdleTree(Entity e, Object ... params){
state = IdleTreeState.IDLE;
parent = e;
- this.idleData = idleData;
+ this.idleData = (IdleData)params[0];
}
/**
@@ -166,9 +166,10 @@ public class ServerIdleTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ServerIdleTree attachTree(Entity parent, IdleData idleData){
- ServerIdleTree rVal = new ServerIdleTree(parent, idleData);
+ public static ServerIdleTree attachTree(Entity parent, Object ... params){
+ ServerIdleTree rVal = new ServerIdleTree(parent,params);
//put manual code here (setting params, etc)
diff --git a/src/main/java/electrosphere/entity/state/life/ClientLifeTree.java b/src/main/java/electrosphere/entity/state/life/ClientLifeTree.java
index c4f75f0c..44a4f285 100644
--- a/src/main/java/electrosphere/entity/state/life/ClientLifeTree.java
+++ b/src/main/java/electrosphere/entity/state/life/ClientLifeTree.java
@@ -79,12 +79,10 @@ public class ClientLifeTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ClientLifeTree attachTree(Entity parent, HealthSystem healthSystem){
- ClientLifeTree rVal = new ClientLifeTree(parent,healthSystem);
- //put manual code here (setting params, etc)
-
-
+ public static ClientLifeTree attachTree(Entity parent, Object ... params){
+ ClientLifeTree rVal = new ClientLifeTree(parent,params);
//!!WARNING!! from here below should not be touched
//This was generated automatically to properly alert various systems that the btree exists and should be tracked
parent.putData(EntityDataStrings.TREE_CLIENTLIFETREE, rVal);
@@ -113,9 +111,9 @@ public class ClientLifeTree implements BehaviorTree {
*
* @param parent The parent entity of this tree
*/
- public ClientLifeTree(Entity parent, HealthSystem healthSystem){
+ public ClientLifeTree(Entity parent, Object ... params){
this.parent = parent;
- this.healthSystem = healthSystem;
+ this.healthSystem = (HealthSystem)params[0];
stateTransitionUtil = StateTransitionUtil.create(parent, false, new StateTransitionUtilItem[]{
StateTransitionUtilItem.create(
LifeStateEnum.DYING,
diff --git a/src/main/java/electrosphere/entity/state/life/ServerLifeTree.java b/src/main/java/electrosphere/entity/state/life/ServerLifeTree.java
index 3ba53696..329898cc 100644
--- a/src/main/java/electrosphere/entity/state/life/ServerLifeTree.java
+++ b/src/main/java/electrosphere/entity/state/life/ServerLifeTree.java
@@ -132,9 +132,10 @@ public class ServerLifeTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ServerLifeTree attachTree(Entity parent, HealthSystem healthSystem){
- ServerLifeTree rVal = new ServerLifeTree(parent, healthSystem);
+ public static ServerLifeTree attachTree(Entity parent, Object ... params){
+ ServerLifeTree rVal = new ServerLifeTree(parent,params);
//put manual code here (setting params, etc)
@@ -166,13 +167,13 @@ public class ServerLifeTree implements BehaviorTree {
*
* @param parent The parent entity of this tree
*/
- public ServerLifeTree(Entity parent, HealthSystem healthSystem){
+ public ServerLifeTree(Entity parent, Object ... params){
this.parent = parent;
- this.lifeMax = healthSystem.getMaxHealth();
+ this.healthSystem = (HealthSystem)params[0];
+ this.lifeMax = this.healthSystem.getMaxHealth();
this.lifeCurrent = this.lifeMax;
- this.iFrameMaxCount = healthSystem.getOnDamageIFrames();
+ this.iFrameMaxCount = this.healthSystem.getOnDamageIFrames();
this.iFrameCurrent = 0;
- this.healthSystem = healthSystem;
stateTransitionUtil = StateTransitionUtil.create(parent, true, new StateTransitionUtilItem[]{
StateTransitionUtilItem.create(
LifeStateEnum.DYING,
diff --git a/src/main/java/electrosphere/entity/state/movement/groundmove/ClientGroundMovementTree.java b/src/main/java/electrosphere/entity/state/movement/groundmove/ClientGroundMovementTree.java
index d3c57eae..a89c6e8a 100644
--- a/src/main/java/electrosphere/entity/state/movement/groundmove/ClientGroundMovementTree.java
+++ b/src/main/java/electrosphere/entity/state/movement/groundmove/ClientGroundMovementTree.java
@@ -110,9 +110,12 @@ public class ClientGroundMovementTree implements BehaviorTree {
* Constructor
* @param e The parent entity
*/
- private ClientGroundMovementTree(Entity e){
+ private ClientGroundMovementTree(Entity e, Object ... params){
+ //Collidable collidable, GroundMovementSystem groundMovementData
state = MovementTreeState.IDLE;
parent = e;
+ this.collidable = (Collidable)params[0];
+ this.groundMovementData = (GroundMovementSystem)params[1];
}
/**
@@ -673,18 +676,14 @@ public class ClientGroundMovementTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ClientGroundMovementTree attachTree(Entity parent, Collidable collidable, GroundMovementSystem groundMovementData){
- ClientGroundMovementTree rVal = new ClientGroundMovementTree(parent);
- //put manual code here (setting params, etc)
-
- rVal.collidable = collidable;
- rVal.groundMovementData = groundMovementData;
-
+ public static ClientGroundMovementTree attachTree(Entity parent, Object ... params){
+ ClientGroundMovementTree rVal = new ClientGroundMovementTree(parent,params);
//!!WARNING!! from here below should not be touched
//This was generated automatically to properly alert various systems that the btree exists and should be tracked
parent.putData(EntityDataStrings.TREE_CLIENTGROUNDMOVEMENTTREE, rVal);
- Globals.clientScene.registerBehaviorTree(rVal);
+ Globals.clientSceneWrapper.getScene().registerBehaviorTree(rVal);
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_CLIENTGROUNDMOVEMENTTREE_ID);
return rVal;
}
diff --git a/src/main/java/electrosphere/entity/state/movement/groundmove/ServerGroundMovementTree.java b/src/main/java/electrosphere/entity/state/movement/groundmove/ServerGroundMovementTree.java
index fb224439..82cbf583 100644
--- a/src/main/java/electrosphere/entity/state/movement/groundmove/ServerGroundMovementTree.java
+++ b/src/main/java/electrosphere/entity/state/movement/groundmove/ServerGroundMovementTree.java
@@ -77,10 +77,12 @@ public class ServerGroundMovementTree implements BehaviorTree {
Vector3d movementVector = new Vector3d(1,0,0);
- private ServerGroundMovementTree(Entity e){
+ private ServerGroundMovementTree(Entity e, Object ... params){
+ //Collidable collidable
state = MovementTreeState.IDLE;
facing = MovementRelativeFacing.FORWARD;
parent = e;
+ this.collidable = (Collidable)params[0];
}
public MovementTreeState getState(){
@@ -700,18 +702,17 @@ public class ServerGroundMovementTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ServerGroundMovementTree attachTree(Entity parent, Collidable collidable){
- ServerGroundMovementTree rVal = new ServerGroundMovementTree(parent);
+ public static ServerGroundMovementTree attachTree(Entity parent, Object ... params){
+ ServerGroundMovementTree rVal = new ServerGroundMovementTree(parent,params);
//put manual code here (setting params, etc)
-
- rVal.collidable = collidable;
//!!WARNING!! from here below should not be touched
//This was generated automatically to properly alert various systems that the btree exists and should be tracked
+ ServerBehaviorTreeUtils.attachBTreeToEntity(parent, rVal);
parent.putData(EntityDataStrings.TREE_SERVERGROUNDMOVEMENTTREE, rVal);
- Globals.clientScene.registerBehaviorTree(rVal);
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_SERVERGROUNDMOVEMENTTREE_ID);
return rVal;
}
diff --git a/src/main/java/electrosphere/entity/state/movement/jump/ClientJumpTree.java b/src/main/java/electrosphere/entity/state/movement/jump/ClientJumpTree.java
index 3d64e035..f45e5926 100644
--- a/src/main/java/electrosphere/entity/state/movement/jump/ClientJumpTree.java
+++ b/src/main/java/electrosphere/entity/state/movement/jump/ClientJumpTree.java
@@ -56,11 +56,11 @@ public class ClientJumpTree implements BehaviorTree {
static final float jumpFalloff = 0.99f;
- public ClientJumpTree(Entity parent, JumpMovementSystem jumpData){
+ public ClientJumpTree(Entity parent, Object ... params){
this.parent = parent;
- this.jumpFrames = jumpData.getJumpFrames();
- this.jumpForce = jumpData.getJumpForce();
- this.jumpData = jumpData;
+ this.jumpData = (JumpMovementSystem)params[0];
+ this.jumpFrames = this.jumpData.getJumpFrames();
+ this.jumpForce = this.jumpData.getJumpForce();
}
public void start(){
@@ -163,12 +163,10 @@ public class ClientJumpTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ClientJumpTree attachTree(Entity parent, JumpMovementSystem jumpData){
- ClientJumpTree rVal = new ClientJumpTree(parent, jumpData);
- //put manual code here (setting params, etc)
-
-
+ public static ClientJumpTree attachTree(Entity parent, Object ... params){
+ ClientJumpTree rVal = new ClientJumpTree(parent,params);
//!!WARNING!! from here below should not be touched
//This was generated automatically to properly alert various systems that the btree exists and should be tracked
parent.putData(EntityDataStrings.TREE_CLIENTJUMPTREE, rVal);
diff --git a/src/main/java/electrosphere/entity/state/movement/jump/ServerJumpTree.java b/src/main/java/electrosphere/entity/state/movement/jump/ServerJumpTree.java
index f54d74e9..3f69323d 100644
--- a/src/main/java/electrosphere/entity/state/movement/jump/ServerJumpTree.java
+++ b/src/main/java/electrosphere/entity/state/movement/jump/ServerJumpTree.java
@@ -48,11 +48,11 @@ public class ServerJumpTree implements BehaviorTree {
static final float jumpFalloff = 0.99f;
- public ServerJumpTree(Entity parent, JumpMovementSystem jumpData){
+ public ServerJumpTree(Entity parent, Object ... params){
this.parent = parent;
- this.jumpFrames = jumpData.getJumpFrames();
- this.jumpForce = jumpData.getJumpForce();
- this.jumpData = jumpData;
+ this.jumpData = (JumpMovementSystem)params[0];
+ this.jumpFrames = this.jumpData.getJumpFrames();
+ this.jumpForce = this.jumpData.getJumpForce();
}
public void start(){
@@ -157,9 +157,10 @@ public class ServerJumpTree implements BehaviorTree {
*
* @param entity The entity to attach to
* @param tree The behavior tree to attach
+ * @param params Optional parameters that will be provided to the constructor
*/
- public static ServerJumpTree attachTree(Entity parent, JumpMovementSystem jumpData){
- ServerJumpTree rVal = new ServerJumpTree(parent, jumpData);
+ public static ServerJumpTree attachTree(Entity parent, Object ... params){
+ ServerJumpTree rVal = new ServerJumpTree(parent,params);
//put manual code here (setting params, etc)