From c7967f8c28f961e29a8c78da35a70cc11ff98fb9 Mon Sep 17 00:00:00 2001 From: Rynhardt Kruger Date: Sat, 26 Nov 2011 12:14:20 +0200 Subject: [PATCH] Added untracked building files. --- src/org/alterverse/world/Building.java | 35 ++++++++++++++++++++++++++++++++++ src/org/alterverse/world/Story.java | 23 ++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 src/org/alterverse/world/Building.java create mode 100644 src/org/alterverse/world/Story.java diff --git a/src/org/alterverse/world/Building.java b/src/org/alterverse/world/Building.java new file mode 100644 index 0000000..06ecb84 --- /dev/null +++ b/src/org/alterverse/world/Building.java @@ -0,0 +1,35 @@ +package org.alterverse.world; + +public class Building extends GameObject { +public Building(Area area,double x, double y, double z) { +super(area,new Box(x,y,z,1.0,1.0,1.0)); +setSolid(false); +} + +public Story addStory() { +Story story; +if (numChildren() ==0) +story = new Story(this,x,y,z); +else +story = new Story(this,x,getChild(numChildren()-1).getY()+8.0,z); +addChild(story); +resize(); +return story; +} + +public void resize() { +double mx=0; +double my = 0; +double mz = 0; +for (int i = 0; i < numChildren(); i++) { +GameObject child = getChild(i); +if (child.maxX()>mx) +mx=child.MaxX(); +if (child.maxY()>my) +my = child.maxY(); +if (child.maxZ()>mz) +mz = child.maxZ(); +} +setShape(new Box(x,y,z,mx,my+8.0,mz)); +} +} diff --git a/src/org/alterverse/world/Story.java b/src/org/alterverse/world/Story.java new file mode 100644 index 0000000..f4f8400 --- /dev/null +++ b/src/org/alterverse/world/Story.java @@ -0,0 +1,23 @@ +package org.alterverse.story; + +public class Story extends GameObject { +public Story(Building building, double x, double y, double z) { +super(building.getArea(),new Box(x,y,z,1.0,8.0,1.0)); +} + +public void resize() { +double mx=0; +double my = 0; +double mz = 0; +for (int i = 0; i < numChildren(); i++) { +GameObject child = getChild(i); +if (child.maxX()>mx) +mx=child.MaxX(); +if (child.maxY()>my) +my = child.maxY(); +if (child.maxZ()>mz) +mz = child.maxZ(); +} +setShape(new Box(x,y,z,mx,my+8.0,mz)); +} +} -- 2.11.4.GIT