package tk.captainsplexx.Resource.EBX.Structure.Entry;
import tk.captainsplexx.Resource.EBX.EBXComplex;
import tk.captainsplexx.Resource.EBX.EBXExternalGUID;
import tk.captainsplexx.Resource.EBX.EBXField;
import tk.captainsplexx.Resource.EBX.Structure.EBXStructureEntry;
import tk.captainsplexx.Resource.EBX.Structure.EBXStructureReader.EntryType;
public class EBXStaticModelEntityData extends EBXStructureEntry{
private EBXObjArray partLinks = null;
private EBXExternalGUID mesh = null;
private long boneCount;
private EBXObjArray basePoseTransforms = null;
private EBXObjArray physicsPartInfos = null;
private EBXObjArray networkInfo = null;
private boolean excludeFromNearbyObjectDestruction = false;
private boolean animatePhysics = false;
private boolean terrainShaderNodesEnable = false;
private boolean visible = true;
public EBXStaticModelEntityData(EBXStructureEntry parent, EBXComplex complex) {
super(parent, EntryType.StaticModelEntityData);
for (EBXField field : complex.getFields()) {
switch (field.getFieldDescritor().getName()) {
case "ExcludeFromNearbyObjectDestruction": /* -------------- ExcludeFromNearbyObjectDestruction -------------- */
this.excludeFromNearbyObjectDestruction = (boolean) field.getValue();
break;
case "AnimatePhysics": /* -------------- AnimatePhysics -------------- */
this.animatePhysics = (boolean) field.getValue();
break;
case "TerrainShaderNodesEnable": /* -------------- TerrainShaderNodesEnable -------------- */
this.terrainShaderNodesEnable = (boolean) field.getValue();
break;
case "Visible": /* -------------- Visible -------------- */
this.visible = (boolean) field.getValue();
break;
case "BoneCount": /* -------------- BoneCount -------------- */
this.boneCount = (Long) field.getValue();
break;
case "Mesh": /* -------------- Mesh -------------- */
this.mesh = new EBXExternalGUID(field);
break;
default:
System.err.println(field.getFieldDescritor().getName()+" is not handled in EBXStaticModelEntityData's Constructor for readIn!");
break;
}
}
}
public EBXObjArray getPartLinks() {
return partLinks;
}
public EBXExternalGUID getMesh() {
return mesh;
}
public long getBoneCount() {
return boneCount;
}
public EBXObjArray getBasePoseTransforms() {
return basePoseTransforms;
}
public EBXObjArray getPhysicsPartInfos() {
return physicsPartInfos;
}
public EBXObjArray getNetworkInfo() {
return networkInfo;
}
public boolean isExcludeFromNearbyObjectDestruction() {
return excludeFromNearbyObjectDestruction;
}
public boolean isAnimatePhysics() {
return animatePhysics;
}
public boolean isTerrainShaderNodesEnable() {
return terrainShaderNodesEnable;
}
public boolean isVisible() {
return visible;
}
}