mirror of
https://bitbucket.org/projectswg/cucore.git
synced 2026-09-13 00:45:06 -04:00
Fixed miscelaneous getLocation() issues and optimized some calls to avoid unnecessary copies
This commit is contained in:
@@ -107,13 +107,14 @@ public class WaypointObject extends IntangibleObject implements OutOfBandData {
|
||||
@Override
|
||||
public void decode(ByteBuffer data) {
|
||||
data.getInt();
|
||||
setLocation(data.getFloat(), data.getFloat(), data.getFloat());
|
||||
Location loc = new Location(data.getFloat(), data.getFloat(), data.getFloat(), null);
|
||||
cellId = Packet.getLong(data);
|
||||
getLocation().setTerrain(Terrain.getTerrainFromCrc(data.getInt()));
|
||||
loc.setTerrain(Terrain.getTerrainFromCrc(data.getInt()));
|
||||
name = Packet.getUnicode(data);
|
||||
Packet.getLong(data); // objectId
|
||||
color = WaypointColor.valueOf(data.get());
|
||||
active = Packet.getBoolean(data);
|
||||
setLocation(loc);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -547,7 +547,7 @@ public class ChatRoomService extends Service {
|
||||
}
|
||||
}
|
||||
|
||||
Terrain terrain = player.getCreatureObject().getLocation().getTerrain();
|
||||
Terrain terrain = player.getCreatureObject().getTerrain();
|
||||
|
||||
// Enter the new zone-only chat channels
|
||||
String planetPath = "SWG." + player.getGalaxyName() + "." + terrain.getName() + ".";
|
||||
|
||||
@@ -92,7 +92,7 @@ public final class WeatherService extends Service {
|
||||
|
||||
private final void handleZoneIn(PlayerEventIntent pei) {
|
||||
Player p = pei.getPlayer();
|
||||
Terrain t = p.getCreatureObject().getLocation().getTerrain();
|
||||
Terrain t = p.getCreatureObject().getTerrain();
|
||||
|
||||
p.sendPacket(constructWeatherPacket(t));
|
||||
}
|
||||
|
||||
@@ -191,10 +191,10 @@ public class MapService extends Service {
|
||||
mapLocation.setSubcategory((byte) mapCategories.get(mappingTemplate.getSubcategory()).getIndex());
|
||||
else
|
||||
mapLocation.setSubcategory((byte) 0);
|
||||
mapLocation.setX((float) object.getLocation().getX());
|
||||
mapLocation.setY((float) object.getLocation().getZ());
|
||||
mapLocation.setX((float) object.getX());
|
||||
mapLocation.setY((float) object.getZ());
|
||||
|
||||
String planet = object.getLocation().getTerrain().getName();
|
||||
String planet = object.getTerrain().getName();
|
||||
|
||||
switch (type) {
|
||||
case STATIC:
|
||||
|
||||
@@ -408,7 +408,7 @@ public class ObjectManager extends Manager {
|
||||
if (transform == null)
|
||||
return;
|
||||
Location newLocation = transform.getLocation();
|
||||
newLocation.setTerrain(obj.getLocation().getTerrain());
|
||||
newLocation.setTerrain(obj.getTerrain());
|
||||
objectAwareness.move(obj, newLocation);
|
||||
obj.sendDataTransforms(transform);
|
||||
|
||||
@@ -418,7 +418,7 @@ public class ObjectManager extends Manager {
|
||||
|
||||
private void moveObject(SWGObject obj, DataTransformWithParent transformWithParent) {
|
||||
Location newLocation = transformWithParent.getLocation();
|
||||
newLocation.setTerrain(obj.getLocation().getTerrain());
|
||||
newLocation.setTerrain(obj.getTerrain());
|
||||
SWGObject parent = objectMap.get(transformWithParent.getCellId());
|
||||
if (parent == null) {
|
||||
System.err.println("ObjectManager: Could not find parent for transform! Cell: " + transformWithParent.getCellId());
|
||||
|
||||
@@ -199,7 +199,7 @@ public class PlayerManager extends Manager {
|
||||
|
||||
synchronized(players) {
|
||||
for (Player p : players.values()) {
|
||||
if (p != null && p.getCreatureObject() != null && p.getCreatureObject().getLocation().getTerrain() == terrain && conditional.meetsCondition(p))
|
||||
if (p != null && p.getCreatureObject() != null && p.getCreatureObject().getTerrain() == terrain && conditional.meetsCondition(p))
|
||||
p.sendPacket(packets);
|
||||
}
|
||||
}
|
||||
@@ -208,7 +208,7 @@ public class PlayerManager extends Manager {
|
||||
public void notifyPlayersAtPlanet(Terrain terrain, Packet... packets) {
|
||||
synchronized(players) {
|
||||
for (Player p : players.values()) {
|
||||
if (p != null && p.getCreatureObject() != null && p.getCreatureObject().getLocation().getTerrain() == terrain)
|
||||
if (p != null && p.getCreatureObject() != null && p.getCreatureObject().getTerrain() == terrain)
|
||||
p.sendPacket(packets);
|
||||
}
|
||||
}
|
||||
@@ -223,7 +223,7 @@ public class PlayerManager extends Manager {
|
||||
synchronized(players) {
|
||||
networkIds.forEach(id -> {
|
||||
Player p = players.get(id);
|
||||
if (p != null && p.getCreatureObject() != null && p.getCreatureObject().getLocation().getTerrain() == terrain && conditional.meetsCondition(p))
|
||||
if (p != null && p.getCreatureObject() != null && p.getCreatureObject().getTerrain() == terrain && conditional.meetsCondition(p))
|
||||
p.sendPacket(packets);
|
||||
});
|
||||
}
|
||||
@@ -233,7 +233,7 @@ public class PlayerManager extends Manager {
|
||||
synchronized(players) {
|
||||
networkIds.forEach(id -> {
|
||||
Player p = players.get(id);
|
||||
if (p != null && p.getCreatureObject() != null && p.getCreatureObject().getLocation().getTerrain() == terrain)
|
||||
if (p != null && p.getCreatureObject() != null && p.getCreatureObject().getTerrain() == terrain)
|
||||
p.sendPacket(packets);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user