work on chest furniture
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
This commit is contained in:
parent
5c91104961
commit
cb98eac750
@ -203,8 +203,8 @@
|
|||||||
"collidable": {
|
"collidable": {
|
||||||
"type" : "CUBE",
|
"type" : "CUBE",
|
||||||
"dimension1" : 1.0,
|
"dimension1" : 1.0,
|
||||||
"dimension2" : 1.0,
|
"dimension2" : 0.85,
|
||||||
"dimension3" : 2.0,
|
"dimension3" : 1.12,
|
||||||
"rotX": 0,
|
"rotX": 0,
|
||||||
"rotY": 0,
|
"rotY": 0,
|
||||||
"rotZ": 0,
|
"rotZ": 0,
|
||||||
@ -255,20 +255,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"buttonInteraction" : {
|
"buttonInteraction" : {
|
||||||
"onInteract" : "inventory",
|
"onInteract" : "inventory"
|
||||||
"interactionShape" : {
|
|
||||||
"type" : "CUBE",
|
|
||||||
"dimension1" : 0.3,
|
|
||||||
"dimension2" : 0.3,
|
|
||||||
"dimension3" : 0.3,
|
|
||||||
"rotX": 0,
|
|
||||||
"rotY": 0,
|
|
||||||
"rotZ": 0,
|
|
||||||
"rotW": 1,
|
|
||||||
"offsetX" : 0.0,
|
|
||||||
"offsetY" : 0.1,
|
|
||||||
"offsetZ" : 0.0
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"gridAlignedData" : {
|
"gridAlignedData" : {
|
||||||
"width" : 10,
|
"width" : 10,
|
||||||
|
|||||||
@ -1771,6 +1771,9 @@ Recipes for spawn items defined in parent entity
|
|||||||
Spawn items have stack/charge
|
Spawn items have stack/charge
|
||||||
Spawn items respect charge state
|
Spawn items respect charge state
|
||||||
Chest furniture
|
Chest furniture
|
||||||
|
Interaction editing debug menu
|
||||||
|
Fix chest physics&interaction data
|
||||||
|
Break out collidable template edit into dedicated component
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -309,6 +309,33 @@ public class ClientInteractionEngine {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether the entity has an interaction body or not
|
||||||
|
* @param entity The entity
|
||||||
|
* @return true if it has an interaction body, false otherwise
|
||||||
|
*/
|
||||||
|
public static boolean hasInteractionBody(Entity entity){
|
||||||
|
return entity.containsKey(EntityDataStrings.INTERACTION_BODY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the interaction body on the entity
|
||||||
|
* @param entity The entity
|
||||||
|
* @return The body if it exists, null otherwise
|
||||||
|
*/
|
||||||
|
public static DBody getInteractionBody(Entity entity){
|
||||||
|
return (DBody)entity.getData(EntityDataStrings.INTERACTION_BODY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the template for the interaction body
|
||||||
|
* @param entity The entity
|
||||||
|
* @return The tempalte if it exists, null otherwise
|
||||||
|
*/
|
||||||
|
public static CollidableTemplate getInteractionTemplate(Entity entity){
|
||||||
|
return (CollidableTemplate)entity.getData(EntityDataStrings.INTERACTION_TEMPLATE);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the number of interactibles on the client
|
* Gets the number of interactibles on the client
|
||||||
* @return The number of interactibles
|
* @return The number of interactibles
|
||||||
|
|||||||
@ -0,0 +1,126 @@
|
|||||||
|
package electrosphere.client.ui.components.imgui;
|
||||||
|
|
||||||
|
import org.ode4j.ode.DBody;
|
||||||
|
import org.ode4j.ode.DBox;
|
||||||
|
import org.ode4j.ode.DCylinder;
|
||||||
|
import org.ode4j.ode.DGeom;
|
||||||
|
import org.ode4j.ode.DMass;
|
||||||
|
|
||||||
|
import electrosphere.data.collidable.CollidableTemplate;
|
||||||
|
import imgui.ImGui;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Block for editing collidable data
|
||||||
|
*/
|
||||||
|
public class CollidableEditBlock {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The minimum offset
|
||||||
|
*/
|
||||||
|
static final float MIN_OFFSET = -10;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum offset
|
||||||
|
*/
|
||||||
|
static final float MAX_OFFSET = 10;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Min scale
|
||||||
|
*/
|
||||||
|
static final float MIN_SCALE = 0.001f;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max scale
|
||||||
|
*/
|
||||||
|
static final float MAX_SCALE = 10f;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Minimum mass value
|
||||||
|
*/
|
||||||
|
static final float MIN_MASS = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Maximum mass value
|
||||||
|
*/
|
||||||
|
static final float MAX_MASS = 1.0f;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Storage for the modified scale of the collidable
|
||||||
|
*/
|
||||||
|
static float[] scale = new float[3];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Storage for the modified offset of the collidable
|
||||||
|
*/
|
||||||
|
static float[] offset = new float[3];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Radius slider
|
||||||
|
*/
|
||||||
|
static float[] radius = new float[1];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Length slider
|
||||||
|
*/
|
||||||
|
static float[] length = new float[1];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Mass slider
|
||||||
|
*/
|
||||||
|
static float[] mass = new float[1];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draws collidable editing controls
|
||||||
|
* @param physicsBody The body to edit
|
||||||
|
* @param template The template data to edit
|
||||||
|
*/
|
||||||
|
public static void drawCollidableEdit(DBody physicsBody, CollidableTemplate template){
|
||||||
|
if(physicsBody != null && physicsBody.getFirstGeom() != null && ImGui.collapsingHeader("Modify")){
|
||||||
|
DGeom geom = physicsBody.getFirstGeom();
|
||||||
|
if(geom instanceof DBox){
|
||||||
|
DBox box = (DBox)geom;
|
||||||
|
if(ImGui.sliderFloat3("Offset", offset, MIN_OFFSET, MAX_OFFSET)){
|
||||||
|
box.setOffsetPosition(offset[0], offset[1], offset[2]);
|
||||||
|
template.setOffsetX(offset[0]);
|
||||||
|
template.setOffsetY(offset[1]);
|
||||||
|
template.setOffsetZ(offset[2]);
|
||||||
|
}
|
||||||
|
if(ImGui.sliderFloat3("Scale",scale,MIN_SCALE,MAX_SCALE)){
|
||||||
|
box.setLengths(scale[0], scale[1], scale[2]);
|
||||||
|
template.setDimension1(scale[0]);
|
||||||
|
template.setDimension2(scale[1]);
|
||||||
|
template.setDimension3(scale[2]);
|
||||||
|
}
|
||||||
|
if(physicsBody.getMass() instanceof DMass && ImGui.sliderFloat("Mass",mass,MIN_MASS,MAX_MASS)){
|
||||||
|
DMass massObj = (DMass)physicsBody.getMass();
|
||||||
|
float adjusted = (float)Math.log(mass[0] + 1);
|
||||||
|
massObj.setMass(adjusted);
|
||||||
|
}
|
||||||
|
} else if(geom instanceof DCylinder){
|
||||||
|
DCylinder cylinder = (DCylinder)geom;
|
||||||
|
if(ImGui.sliderFloat3("Offset", offset, MIN_OFFSET, MAX_OFFSET)){
|
||||||
|
cylinder.setOffsetPosition(offset[0], offset[1], offset[2]);
|
||||||
|
template.setOffsetX(offset[0]);
|
||||||
|
template.setOffsetY(offset[1]);
|
||||||
|
template.setOffsetZ(offset[2]);
|
||||||
|
}
|
||||||
|
if(ImGui.sliderFloat("Radius",radius,MIN_SCALE,MAX_SCALE)){
|
||||||
|
cylinder.setParams(radius[0], cylinder.getLength());
|
||||||
|
template.setDimension1(radius[0]);
|
||||||
|
}
|
||||||
|
if(ImGui.sliderFloat("Length",length,MIN_SCALE,MAX_SCALE)){
|
||||||
|
cylinder.setParams(cylinder.getRadius(), length[0]);
|
||||||
|
template.setDimension2(length[0]);
|
||||||
|
}
|
||||||
|
if(physicsBody.getMass() instanceof DMass && ImGui.sliderFloat("Mass",mass,MIN_MASS,MAX_MASS)){
|
||||||
|
DMass massObj = (DMass)physicsBody.getMass();
|
||||||
|
float adjusted = (float)Math.log(mass[0] + 1);
|
||||||
|
massObj.setMass(adjusted);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new Error("Unsupported geom type! " + geom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
package electrosphere.client.ui.menu.debug.entity;
|
||||||
|
|
||||||
|
import org.ode4j.ode.DBody;
|
||||||
|
|
||||||
|
import electrosphere.client.interact.ClientInteractionEngine;
|
||||||
|
import electrosphere.client.ui.components.imgui.CollidableEditBlock;
|
||||||
|
import electrosphere.data.collidable.CollidableTemplate;
|
||||||
|
import electrosphere.entity.Entity;
|
||||||
|
import imgui.ImGui;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tab for interaction engine data
|
||||||
|
*/
|
||||||
|
public class ImGuiEntityInteractionTab {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interaction view
|
||||||
|
*/
|
||||||
|
protected static void drawInteractionTab(boolean show, Entity detailViewEntity){
|
||||||
|
if(detailViewEntity == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(show && ImGui.collapsingHeader("Interaction Data")){
|
||||||
|
ImGui.indent();
|
||||||
|
if(ClientInteractionEngine.getInteractionBody(detailViewEntity) != null){
|
||||||
|
DBody body = ClientInteractionEngine.getInteractionBody(detailViewEntity);
|
||||||
|
CollidableTemplate template = ClientInteractionEngine.getInteractionTemplate(detailViewEntity);
|
||||||
|
CollidableEditBlock.drawCollidableEdit(body, template);
|
||||||
|
}
|
||||||
|
ImGui.unindent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -9,6 +9,7 @@ import org.joml.Vector3d;
|
|||||||
import org.ode4j.ode.DBody;
|
import org.ode4j.ode.DBody;
|
||||||
|
|
||||||
import electrosphere.client.entity.debug.DebugVisualizerUtils;
|
import electrosphere.client.entity.debug.DebugVisualizerUtils;
|
||||||
|
import electrosphere.client.interact.ClientInteractionEngine;
|
||||||
import electrosphere.collision.PhysicsEntityUtils;
|
import electrosphere.collision.PhysicsEntityUtils;
|
||||||
import electrosphere.data.creature.equip.EquipPoint;
|
import electrosphere.data.creature.equip.EquipPoint;
|
||||||
import electrosphere.data.foliage.FoliageType;
|
import electrosphere.data.foliage.FoliageType;
|
||||||
@ -75,6 +76,7 @@ public class ImGuiEntityMacros {
|
|||||||
private static boolean showFoliageTab = false; //show foliage data
|
private static boolean showFoliageTab = false; //show foliage data
|
||||||
private static boolean showToolbarTab = false; //show toolbar data
|
private static boolean showToolbarTab = false; //show toolbar data
|
||||||
private static boolean showInventoryTab = false; //show inventory data
|
private static boolean showInventoryTab = false; //show inventory data
|
||||||
|
private static boolean showInteractionTab = false; //show inventory data
|
||||||
private static boolean showDebugActionsTab = false; //show debug actions
|
private static boolean showDebugActionsTab = false; //show debug actions
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -201,6 +203,9 @@ public class ImGuiEntityMacros {
|
|||||||
if(ClientToolbarState.getClientToolbarState(detailViewEntity) != null && ImGui.checkbox("Toolbar Data", showToolbarTab)){
|
if(ClientToolbarState.getClientToolbarState(detailViewEntity) != null && ImGui.checkbox("Toolbar Data", showToolbarTab)){
|
||||||
showToolbarTab = !showToolbarTab;
|
showToolbarTab = !showToolbarTab;
|
||||||
}
|
}
|
||||||
|
if(ClientInteractionEngine.hasInteractionBody(detailViewEntity) && ImGui.checkbox("Interaction Data", showInteractionTab)){
|
||||||
|
showInteractionTab = !showInteractionTab;
|
||||||
|
}
|
||||||
if(
|
if(
|
||||||
(InventoryUtils.hasNaturalInventory(detailViewEntity) || InventoryUtils.hasEquipInventory(detailViewEntity) || InventoryUtils.hasToolbarInventory(detailViewEntity)) &&
|
(InventoryUtils.hasNaturalInventory(detailViewEntity) || InventoryUtils.hasEquipInventory(detailViewEntity) || InventoryUtils.hasToolbarInventory(detailViewEntity)) &&
|
||||||
ImGui.checkbox("Inventory Data", showInventoryTab)
|
ImGui.checkbox("Inventory Data", showInventoryTab)
|
||||||
@ -226,6 +231,7 @@ public class ImGuiEntityMacros {
|
|||||||
ImGuiEntityFoliageTab.drawFoliageView(showFoliageTab, detailViewEntity);
|
ImGuiEntityFoliageTab.drawFoliageView(showFoliageTab, detailViewEntity);
|
||||||
ImGuiEntityToolbarTab.drawToolbarTab(showToolbarTab, detailViewEntity);
|
ImGuiEntityToolbarTab.drawToolbarTab(showToolbarTab, detailViewEntity);
|
||||||
ImGuiEntityInventoryTab.drawInventoryTab(showInventoryTab, detailViewEntity);
|
ImGuiEntityInventoryTab.drawInventoryTab(showInventoryTab, detailViewEntity);
|
||||||
|
ImGuiEntityInteractionTab.drawInteractionTab(showInteractionTab, detailViewEntity);
|
||||||
ImGuiEntityDebugActions.drawDebugActions(showDebugActionsTab, detailViewEntity);
|
ImGuiEntityDebugActions.drawDebugActions(showDebugActionsTab, detailViewEntity);
|
||||||
ImGuiEntityMacros.drawDataView();
|
ImGuiEntityMacros.drawDataView();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,8 @@
|
|||||||
package electrosphere.client.ui.menu.debug.entity;
|
package electrosphere.client.ui.menu.debug.entity;
|
||||||
|
|
||||||
import org.ode4j.ode.DBody;
|
import org.ode4j.ode.DBody;
|
||||||
import org.ode4j.ode.DBox;
|
|
||||||
import org.ode4j.ode.DCylinder;
|
|
||||||
import org.ode4j.ode.DGeom;
|
|
||||||
import org.ode4j.ode.DMass;
|
|
||||||
|
|
||||||
|
import electrosphere.client.ui.components.imgui.CollidableEditBlock;
|
||||||
import electrosphere.collision.PhysicsEntityUtils;
|
import electrosphere.collision.PhysicsEntityUtils;
|
||||||
import electrosphere.data.collidable.CollidableTemplate;
|
import electrosphere.data.collidable.CollidableTemplate;
|
||||||
import electrosphere.engine.Globals;
|
import electrosphere.engine.Globals;
|
||||||
@ -20,51 +17,6 @@ import imgui.ImGui;
|
|||||||
* Tab for both exploring and editing physics on this entity
|
* Tab for both exploring and editing physics on this entity
|
||||||
*/
|
*/
|
||||||
public class ImGuiEntityPhysicsTab {
|
public class ImGuiEntityPhysicsTab {
|
||||||
|
|
||||||
/**
|
|
||||||
* The minimum offset
|
|
||||||
*/
|
|
||||||
static final float MIN_OFFSET = -10;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The maximum offset
|
|
||||||
*/
|
|
||||||
static final float MAX_OFFSET = 10;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Minimum mass value
|
|
||||||
*/
|
|
||||||
static final float MIN_MASS = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Maximum mass value
|
|
||||||
*/
|
|
||||||
static final float MAX_MASS = 1.0f;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Storage for the modified scale of the collidable
|
|
||||||
*/
|
|
||||||
static float[] scale = new float[3];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Storage for the modified offset of the collidable
|
|
||||||
*/
|
|
||||||
static float[] offset = new float[3];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Radius slider
|
|
||||||
*/
|
|
||||||
static float[] radius = new float[1];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Length slider
|
|
||||||
*/
|
|
||||||
static float[] length = new float[1];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Mass slider
|
|
||||||
*/
|
|
||||||
static float[] mass = new float[1];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Physics view
|
* Physics view
|
||||||
@ -133,51 +85,8 @@ public class ImGuiEntityPhysicsTab {
|
|||||||
}
|
}
|
||||||
//Collidable editing
|
//Collidable editing
|
||||||
if(physicsBody != null && physicsBody.getFirstGeom() != null && ImGui.collapsingHeader("Modify")){
|
if(physicsBody != null && physicsBody.getFirstGeom() != null && ImGui.collapsingHeader("Modify")){
|
||||||
DGeom geom = physicsBody.getFirstGeom();
|
|
||||||
CollidableTemplate template = (CollidableTemplate)detailViewEntity.getData(EntityDataStrings.PHYSICS_MODEL_TEMPLATE);
|
CollidableTemplate template = (CollidableTemplate)detailViewEntity.getData(EntityDataStrings.PHYSICS_MODEL_TEMPLATE);
|
||||||
if(geom instanceof DBox){
|
CollidableEditBlock.drawCollidableEdit(physicsBody, template);
|
||||||
DBox box = (DBox)geom;
|
|
||||||
if(ImGui.sliderFloat3("Offset", offset, MIN_OFFSET, MAX_OFFSET)){
|
|
||||||
box.setOffsetPosition(offset[0], offset[1], offset[2]);
|
|
||||||
template.setOffsetX(offset[0]);
|
|
||||||
template.setOffsetY(offset[1]);
|
|
||||||
template.setOffsetZ(offset[2]);
|
|
||||||
}
|
|
||||||
if(ImGui.sliderFloat3("Scale",scale,MIN_OFFSET,MAX_OFFSET)){
|
|
||||||
box.setLengths(scale[0], scale[1], scale[2]);
|
|
||||||
template.setDimension1(scale[0]);
|
|
||||||
template.setDimension2(scale[1]);
|
|
||||||
template.setDimension3(scale[2]);
|
|
||||||
}
|
|
||||||
if(physicsBody.getMass() instanceof DMass && ImGui.sliderFloat("Mass",mass,MIN_MASS,MAX_MASS)){
|
|
||||||
DMass massObj = (DMass)physicsBody.getMass();
|
|
||||||
float adjusted = (float)Math.log(mass[0] + 1);
|
|
||||||
massObj.setMass(adjusted);
|
|
||||||
}
|
|
||||||
} else if(geom instanceof DCylinder){
|
|
||||||
DCylinder cylinder = (DCylinder)geom;
|
|
||||||
if(ImGui.sliderFloat3("Offset", offset, MIN_OFFSET, MAX_OFFSET)){
|
|
||||||
cylinder.setOffsetPosition(offset[0], offset[1], offset[2]);
|
|
||||||
template.setOffsetX(offset[0]);
|
|
||||||
template.setOffsetY(offset[1]);
|
|
||||||
template.setOffsetZ(offset[2]);
|
|
||||||
}
|
|
||||||
if(ImGui.sliderFloat("Radius",radius,MIN_OFFSET,MAX_OFFSET)){
|
|
||||||
cylinder.setParams(radius[0], cylinder.getLength());
|
|
||||||
template.setDimension1(radius[0]);
|
|
||||||
}
|
|
||||||
if(ImGui.sliderFloat("Length",length,MIN_OFFSET,MAX_OFFSET)){
|
|
||||||
cylinder.setParams(cylinder.getRadius(), length[0]);
|
|
||||||
template.setDimension2(length[0]);
|
|
||||||
}
|
|
||||||
if(physicsBody.getMass() instanceof DMass && ImGui.sliderFloat("Mass",mass,MIN_MASS,MAX_MASS)){
|
|
||||||
DMass massObj = (DMass)physicsBody.getMass();
|
|
||||||
float adjusted = (float)Math.log(mass[0] + 1);
|
|
||||||
massObj.setMass(adjusted);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new Error("Unsupported geom type! " + geom);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ImGui.unindent();
|
ImGui.unindent();
|
||||||
|
|||||||
@ -12,6 +12,7 @@ import org.ode4j.ode.DGeom;
|
|||||||
import org.ode4j.ode.DSphere;
|
import org.ode4j.ode.DSphere;
|
||||||
|
|
||||||
import electrosphere.client.entity.camera.CameraEntityUtils;
|
import electrosphere.client.entity.camera.CameraEntityUtils;
|
||||||
|
import electrosphere.collision.CollisionEngine;
|
||||||
import electrosphere.collision.PhysicsUtils;
|
import electrosphere.collision.PhysicsUtils;
|
||||||
import electrosphere.collision.collidable.Collidable;
|
import electrosphere.collision.collidable.Collidable;
|
||||||
import electrosphere.data.collidable.CollidableTemplate;
|
import electrosphere.data.collidable.CollidableTemplate;
|
||||||
@ -181,7 +182,8 @@ public class DebugContentPipeline implements RenderPipeline {
|
|||||||
|
|
||||||
if(Globals.userSettings.graphicsDebugDrawPhysicsObjects()){
|
if(Globals.userSettings.graphicsDebugDrawPhysicsObjects()){
|
||||||
Model physicsGraphicsModel;
|
Model physicsGraphicsModel;
|
||||||
for(Collidable collidable : Globals.clientSceneWrapper.getCollisionEngine().getCollidables()){
|
CollisionEngine engine = Globals.clientSceneWrapper.getCollisionEngine();
|
||||||
|
for(Collidable collidable : engine.getCollidables()){
|
||||||
Entity physicsEntity = collidable.getParent();
|
Entity physicsEntity = collidable.getParent();
|
||||||
if((boolean)physicsEntity.getData(EntityDataStrings.DATA_STRING_DRAW) && physicsEntity.getData(EntityDataStrings.PHYSICS_MODEL_TEMPLATE) != null){
|
if((boolean)physicsEntity.getData(EntityDataStrings.DATA_STRING_DRAW) && physicsEntity.getData(EntityDataStrings.PHYSICS_MODEL_TEMPLATE) != null){
|
||||||
CollidableTemplate template = (CollidableTemplate)physicsEntity.getData(EntityDataStrings.PHYSICS_MODEL_TEMPLATE);
|
CollidableTemplate template = (CollidableTemplate)physicsEntity.getData(EntityDataStrings.PHYSICS_MODEL_TEMPLATE);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user