use of de.gg.game.model.entities.BuildingSlot in project ProjektGG by eskalon.
the class GameLoadingScreen method onFinishedLoading.
@Override
protected void onFinishedLoading() {
GameSession session = ((ProjektGGApplication) application).getClient().getSession();
World world = session.getWorld();
// Create the ModelInstances
for (BuildingSlot s : world.getBuildingSlots()) {
if (s.isBuiltOn()) {
s.getBuilding().setRenderData(new SelectableRenderData(application.getAssetManager().get(s.getBuilding().getType().getModelPath(), Model.class)));
// FIXME siehe AuthoritativeSession#init(...)
s.getBuilding().getRenderData().transform.translate(s.getPosX(), 0, s.getPosZ());
s.getBuilding().getRenderData().transform.rotate(Y_AXIS, s.getRotationToStreet());
// TODO Use _one_ scene for all models?
// new SelectableRenderData(scene,
// building1.getType().getNodeName(), true);
}
}
Model skyboxModel = application.getAssetManager().get(session.getSessionSetup().getMap().getSkyboxPath(), Model.class);
for (Material m : skyboxModel.materials) {
// fixes a bug related to changes in gdx 1.9.9, see
// https://github.com/libgdx/libgdx/issues/5529
m.remove(ColorAttribute.Emissive);
}
world.setSkybox(new ModelInstance(skyboxModel));
Log.info("Client", "Game assets loaded");
if (((ProjektGGApplication) application).isHost()) {
((ProjektGGApplication) application).getServer().startMatch();
Log.info("Server", "Game started!");
}
application.getScreenManager().pushScreen("round_end", "simple_zoom", 1);
}
use of de.gg.game.model.entities.BuildingSlot in project ProjektGG by eskalon.
the class WorldGenerator method generateBuildings.
private void generateBuildings() {
// Building-Slots
world.buildingSlots = map.getBuildingSlots().toArray(new BuildingSlot[0]);
// [Test] Buildings
BuildingSlot slot = world.buildingSlots[0];
Building b = new Building();
b.setType(BuildingType.FORGE_1);
slot.setBuilding(b);
slot = world.buildingSlots[1];
b = new Building();
b.setType(BuildingType.TOWN_HALL);
slot.setBuilding(b);
}
Aggregations