mirror of
https://github.com/ProjectSWGCore/Holocore.git
synced 2026-09-12 22:45:18 -04:00
Added WaypointObject
This commit is contained in:
@@ -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()));
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user