Added WaypointObject

This commit is contained in:
Waverunner
2014-12-07 15:10:39 -05:00
parent 0ba97ebd50
commit 0979eb7dc2
2 changed files with 101 additions and 0 deletions
@@ -0,0 +1,96 @@
package resources.objects.waypoint;
import network.packets.swg.zone.SceneEndBaselines;
import network.packets.swg.zone.baselines.Baseline.BaselineType;
import resources.network.BaselineBuilder;
import resources.objects.intangible.IntangibleObject;
import resources.player.Player;
public class WaypointObject extends IntangibleObject {
private int cellNumber;
private long targetId = 0;
private String name = "Waypoint";
private int color = 1;
private boolean active = true;
public WaypointObject(long objectId) {
super(objectId);
}
public int getCellNumber() {
return cellNumber;
}
public void setCellNumber(int cellNumber) {
this.cellNumber = cellNumber;
}
public long getTargetId() {
return targetId;
}
public void setTargetId(long targetId) {
this.targetId = targetId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getColor() {
return color;
}
public void setColor(int color) {
// BLUE,GREEN,ORANGE,YELLOW,PURPLE,WHITE,MULTICOLOR
this.color = color;
}
public boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
public void createBaseline3(Player target, BaselineBuilder bb) {
super.createBaseline3(target, bb);
bb.addInt(cellNumber);
bb.addFloat((float) getLocation().getX());
bb.addFloat((float) getLocation().getY());
bb.addFloat((float) getLocation().getZ());
bb.addLong(targetId); // unsure when this is anything but 0, have yet to see it change
bb.addInt(getLocation().getTerrain().getCrc());
bb.addUnicode(name);
bb.addByte(color);
bb.addBoolean(active);
}
public void createObject(Player target) {
super.sendSceneCreateObject(target);
BaselineBuilder bb = new BaselineBuilder(this, BaselineType.WAYP, 3);
createBaseline3(target, bb);
bb.sendTo(target);
createChildrenObjects(target);
target.sendPacket(new SceneEndBaselines(getObjectId()));
}
}
+5
View File
@@ -27,6 +27,7 @@ import resources.objects.intangible.IntangibleObject;
import resources.objects.player.PlayerObject;
import resources.objects.quadtree.QuadTree;
import resources.objects.tangible.TangibleObject;
import resources.objects.waypoint.WaypointObject;
import resources.player.Player;
import services.player.PlayerManager;
@@ -132,6 +133,7 @@ public class ObjectManager extends Manager {
case "player": return createPlayerObject(objectId, template);
case "tangible": return createTangibleObject(objectId, template);
case "intangible": return createIntangibleObject(objectId, template);
case "waypoint": return createWaypointObject(objectId, template);
case "weapon": break;
case "building": break;
case "cell": break;
@@ -161,4 +163,7 @@ public class ObjectManager extends Manager {
return new IntangibleObject(objectId);
}
private WaypointObject createWaypointObject(long objectId, String template) {
return new WaypointObject(objectId);
}
}