load mesh data and structure meshes

This commit is contained in:
2024-01-19 20:24:01 -06:00
parent 92d8ed9e3f
commit d53b5d03a4
10 changed files with 275 additions and 5 deletions
@@ -14,6 +14,9 @@ import engine.Enum.BuildingGroup;
import engine.Enum.GameObjectType;
import engine.InterestManagement.InterestManager;
import engine.InterestManagement.WorldGrid;
import engine.collisionEngine.CollisionManager;
import engine.collisionEngine.Mesh;
import engine.collisionEngine.MeshData;
import engine.job.JobContainer;
import engine.job.JobScheduler;
import engine.jobs.UpgradeBuildingJob;
@@ -943,6 +946,8 @@ public enum BuildingManager {
cleanupHirelings(building);
building.isDeranking.compareAndSet(true, false);
BakeColliders(building);
}
public static Building getBuildingAtLocation(Vector3fImmutable loc) {
@@ -960,4 +965,17 @@ public enum BuildingManager {
return null;
}
public static void BakeColliders(Building building){
int propID = building.meshUUID;
if(CollisionManager.structure_meshes.containsKey(propID) == false) {
Logger.error("Bake for PropID: " + propID + " Failed");
return;
}
building.buildingMeshes = new ArrayList<>();
for(MeshData data : CollisionManager.structure_meshes.get(propID)){
building.buildingMeshes.add(new Mesh(data,building.getObjectUUID()));
}
}
}