mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-08-27 17:57:22 -04:00
Delegation of methods to associated objects
More object-oriented method placement. SurveyService class had methods that could be put to object classes. Attributes now set from constructor.
This commit is contained in:
+2
-2
@@ -1,2 +1,2 @@
|
||||
LOAD.SNAPSHOT_OBJECTS=1
|
||||
LOAD.BUILDOUT_OBJECTS=1
|
||||
LOAD.SNAPSHOT_OBJECTS=0
|
||||
LOAD.BUILDOUT_OBJECTS=0
|
||||
@@ -26,7 +26,12 @@ import java.util.Random;
|
||||
import java.util.Vector;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import main.NGECore;
|
||||
import protocol.swg.SurveyMapUpdateMessage;
|
||||
import resources.objects.creature.CreatureObject;
|
||||
import resources.objects.player.PlayerObject;
|
||||
import resources.objects.tangible.TangibleObject;
|
||||
import resources.objects.waypoint.WaypointObject;
|
||||
|
||||
import com.sleepycat.je.Environment;
|
||||
import com.sleepycat.je.Transaction;
|
||||
@@ -374,6 +379,78 @@ public class GalacticResource extends SWGObject implements IPersistent {
|
||||
return measuredOutput;
|
||||
}
|
||||
|
||||
public Vector<ResourceConcentration> buildConcentrationsCollection(Point3D measurePos, GalacticResource resource, float radius,float differential, int planetId){
|
||||
float leftXCoordinate = measurePos.x - (0.5f*radius);
|
||||
float topZCoordinate = measurePos.z - (0.5f*radius);
|
||||
float cursorX = leftXCoordinate;
|
||||
float cursorZ = topZCoordinate;
|
||||
int divisions=5;
|
||||
if (radius<=192.0f){
|
||||
divisions = 4;
|
||||
}
|
||||
if (radius<=64.0f){
|
||||
divisions = 3;
|
||||
}
|
||||
|
||||
Vector<ResourceConcentration> concentrationsCollection = new Vector<ResourceConcentration>();
|
||||
for (int z=0;z<divisions;z++) {
|
||||
for (int x=0;x<divisions;x++) {
|
||||
ResourceConcentration concentration = new ResourceConcentration(cursorX,cursorZ,(resource.deliverConcentrationForSurvey(planetId, cursorX, cursorZ)));
|
||||
concentrationsCollection.add(concentration);
|
||||
cursorZ+=differential;
|
||||
}
|
||||
cursorZ=topZCoordinate;
|
||||
cursorX+=differential;
|
||||
}
|
||||
return concentrationsCollection;
|
||||
}
|
||||
|
||||
public void constructSurveyMapMessage(CreatureObject crafter, Vector<ResourceConcentration> concentrationMap, float radius){
|
||||
|
||||
int pointsAmount = 25;
|
||||
if (radius<=64.0f) {
|
||||
pointsAmount=9;
|
||||
} else if (radius<=128.0) {
|
||||
pointsAmount = 16;
|
||||
} else if (radius<=192.0f) {
|
||||
pointsAmount = 16;
|
||||
} else if (radius<=256.0f) {
|
||||
pointsAmount = 25;
|
||||
} else if (radius>=256.0f) {
|
||||
pointsAmount = 25;
|
||||
}
|
||||
|
||||
SurveyMapUpdateMessage smuMsg = new SurveyMapUpdateMessage(concentrationMap, pointsAmount);
|
||||
crafter.getClient().getSession().write(smuMsg.serialize());
|
||||
services.resources.CharonPacketUtils.printAnalysis(smuMsg.serialize());
|
||||
|
||||
PlayerObject player = (PlayerObject) crafter.getSlottedObject("ghost");
|
||||
if (smuMsg.getHighestConcentration() > 0.10f){
|
||||
WaypointObject lastSurveyWaypoint = player.getLastSurveyWaypoint();
|
||||
WaypointObject surveyWaypoint = null;
|
||||
if (lastSurveyWaypoint==null){
|
||||
surveyWaypoint = (WaypointObject) NGECore.getInstance().objectService.createObject("object/waypoint/shared_world_waypoint_blue.iff", crafter.getPlanet(), smuMsg.getHighestX(), 0 ,smuMsg.getHighestZ());
|
||||
surveyWaypoint.setName("Survey location");
|
||||
surveyWaypoint.setPlanetCRC(engine.resources.common.CRC.StringtoCRC(crafter.getPlanet().getName()));
|
||||
surveyWaypoint.setPosition(new Point3D(smuMsg.getHighestX(),0, smuMsg.getHighestZ()));
|
||||
player.waypointAdd(surveyWaypoint);
|
||||
surveyWaypoint.setPosition(new Point3D(smuMsg.getHighestX(),0, smuMsg.getHighestZ()));
|
||||
surveyWaypoint.setActive(true);
|
||||
surveyWaypoint.setColor((byte)1);
|
||||
surveyWaypoint.setStringAttribute("", "");
|
||||
player.waypointAdd(surveyWaypoint);
|
||||
surveyWaypoint.setName("Survey location");
|
||||
surveyWaypoint.setPlanetCRC(engine.resources.common.CRC.StringtoCRC(crafter.getPlanet().getName()));
|
||||
player.setLastSurveyWaypoint(surveyWaypoint);
|
||||
} else {
|
||||
surveyWaypoint = lastSurveyWaypoint;
|
||||
surveyWaypoint.setPosition(new Point3D(smuMsg.getHighestX(),0, smuMsg.getHighestZ()));
|
||||
player.waypointUpdate(surveyWaypoint);
|
||||
}
|
||||
crafter.sendSystemMessage("@survey:survey_waypoint", (byte) 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Redundant just for Testing !!!
|
||||
public double getHelperMinDist(){
|
||||
return minDist;
|
||||
|
||||
@@ -134,70 +134,11 @@ public class ResourceContainerObject extends TangibleObject {
|
||||
|
||||
}
|
||||
|
||||
// Overload to initialize with stack count
|
||||
// public ResourceContainerObject(int stackCount){
|
||||
// this.stackCount = stackCount;
|
||||
// long range = 1234567L;
|
||||
// Random r = new Random();
|
||||
// this.containerID = (long)(r.nextDouble()*range);
|
||||
// messageBuilder = new ResourceContainerMessageBuilder(this);
|
||||
// }
|
||||
|
||||
// Overload for objectservice call
|
||||
public ResourceContainerObject(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
|
||||
super(objectID, planet, template, position, orientation);
|
||||
messageBuilder = new ResourceContainerMessageBuilder(this);
|
||||
}
|
||||
|
||||
// Overload to initialize with stack count
|
||||
// and resource reference
|
||||
// public ResourceContainerObject(int stackCount, GalacticResource resource){
|
||||
// this.stackCount = stackCount;
|
||||
// long range = 1234567L;
|
||||
// Random r = new Random();
|
||||
// this.containerID = (long)(r.nextDouble()*range);
|
||||
// this.setResourceName(resource.getName());
|
||||
// this.setResourceClass(resource.getResourceRoot().getResourceClass());
|
||||
// this.setColdResistance(resource.getResourceStats()[0]);
|
||||
// this.setConductivity(resource.getResourceStats()[1]);
|
||||
// this.setDecayResistance(resource.getResourceStats()[2]);
|
||||
// this.setHeatResistance(resource.getResourceStats()[3]);
|
||||
// this.setMalleability(resource.getResourceStats()[4]);
|
||||
// this.setShockResistance(resource.getResourceStats()[5]);
|
||||
// this.setUnitToughness(resource.getResourceStats()[6]);
|
||||
// this.setEntangleResistance(resource.getResourceStats()[7]);
|
||||
// this.setPotentialEnergy(resource.getResourceStats()[8]);
|
||||
// this.setOverallQuality(resource.getResourceStats()[9]);
|
||||
// this.setFlavor(resource.getResourceStats()[10]);
|
||||
// this.setResourceType(resource.getResourceRoot().getResourceType());
|
||||
// this.setIffFileName(resource.getResourceRoot().getResourceFileName());
|
||||
// messageBuilder = new ResourceContainerMessageBuilder(this);
|
||||
// }
|
||||
//
|
||||
// public ResourceContainerObject(int stackCount, GalacticResource resource, String template,long objectID, Planet planet){
|
||||
// super(objectID, planet, template);
|
||||
// this.stackCount = stackCount;
|
||||
// long range = 1234567L;
|
||||
// Random r = new Random();
|
||||
// this.containerID = (long)(r.nextDouble()*range);
|
||||
// this.setResourceName(resource.getName());
|
||||
// this.setResourceClass(resource.getResourceRoot().getResourceClass());
|
||||
// this.setColdResistance(resource.getResourceStats()[0]);
|
||||
// this.setConductivity(resource.getResourceStats()[1]);
|
||||
// this.setDecayResistance(resource.getResourceStats()[2]);
|
||||
// this.setHeatResistance(resource.getResourceStats()[3]);
|
||||
// this.setMalleability(resource.getResourceStats()[4]);
|
||||
// this.setShockResistance(resource.getResourceStats()[5]);
|
||||
// this.setUnitToughness(resource.getResourceStats()[6]);
|
||||
// this.setEntangleResistance(resource.getResourceStats()[7]);
|
||||
// this.setPotentialEnergy(resource.getResourceStats()[8]);
|
||||
// this.setOverallQuality(resource.getResourceStats()[9]);
|
||||
// this.setFlavor(resource.getResourceStats()[10]);
|
||||
// this.setResourceType(resource.getResourceRoot().getResourceType());
|
||||
// this.setIffFileName(resource.getResourceRoot().getResourceFileName());
|
||||
// messageBuilder = new ResourceContainerMessageBuilder(this);
|
||||
// }
|
||||
|
||||
|
||||
public void initializeStats(GalacticResource resource){
|
||||
this.setResourceName(resource.getName());
|
||||
this.setResourceClass(resource.getResourceClass());
|
||||
@@ -216,29 +157,72 @@ public class ResourceContainerObject extends TangibleObject {
|
||||
this.setGeneralType(resource.getGeneralType());
|
||||
this.setReferenceID(resource.getId());
|
||||
this.setResourceFileName(resource.getIffFileName());
|
||||
//this.setIffFileName(resource.getIffFileName());
|
||||
|
||||
// set attributes
|
||||
this.getAttributes().put("@obj_attr_n:condition", "100/100");
|
||||
this.getAttributes().put("@obj_attr_n:volume", "1");
|
||||
this.getAttributes().put("@obj_attr_n:resource_contents", this.getStackCount()+"/"+maximalStackCapacity);
|
||||
this.getAttributes().put("@obj_attr_n:resource_name", this.getResourceName());
|
||||
this.getAttributes().put("@obj_attr_n:resource_class", "@resource/resource_names:" + this.getResourceFileName());
|
||||
|
||||
if (this.getColdResistance()>0){
|
||||
this.getAttributes().put("res_cold_resist", ""+this.getColdResistance());
|
||||
resource.getAttributes().put("res_cold_resist", ""+this.getColdResistance());
|
||||
}
|
||||
|
||||
if (this.getConductivity()>0){
|
||||
this.getAttributes().put("res_conductivity", ""+this.getConductivity());
|
||||
resource.getAttributes().put("res_conductivity", ""+this.getConductivity());
|
||||
}
|
||||
|
||||
if (this.getDecayResistance()>0){
|
||||
this.getAttributes().put("res_decay_resist", ""+this.getDecayResistance());
|
||||
resource.getAttributes().put("res_decay_resist", ""+this.getDecayResistance());
|
||||
}
|
||||
|
||||
if (this.getHeatResistance()>0){
|
||||
this.getAttributes().put("res_heat_resist", ""+this.getHeatResistance());
|
||||
resource.getAttributes().put("res_heat_resist", ""+this.getHeatResistance());
|
||||
}
|
||||
|
||||
if (this.getMalleability()>0){
|
||||
this.getAttributes().put("res_malleability", ""+this.getMalleability());
|
||||
resource.getAttributes().put("res_malleability", ""+this.getMalleability());
|
||||
}
|
||||
|
||||
if (this.getOverallQuality()>0){
|
||||
this.getAttributes().put("res_quality", ""+this.getOverallQuality());
|
||||
resource.getAttributes().put("res_quality", ""+this.getOverallQuality());
|
||||
|
||||
}
|
||||
|
||||
if (this.getShockResistance()>0){
|
||||
this.getAttributes().put("res_shock_resistance", ""+this.getShockResistance());
|
||||
resource.getAttributes().put("res_shock_resistance", ""+this.getShockResistance());
|
||||
}
|
||||
|
||||
if (this.getUnitToughness()>0){
|
||||
this.getAttributes().put("res_toughness", ""+this.getUnitToughness());
|
||||
resource.getAttributes().put("res_toughness", ""+this.getUnitToughness());
|
||||
}
|
||||
|
||||
if (this.getFlavor()>0){
|
||||
this.getAttributes().put("res_flavor", ""+this.getFlavor());
|
||||
resource.getAttributes().put("res_flavor", ""+this.getFlavor());
|
||||
}
|
||||
|
||||
if (this.getEntangleResistance()>0){
|
||||
this.getAttributes().put("entangle_resistance", ""+this.getEntangleResistance());
|
||||
resource.getAttributes().put("entangle_resistance", ""+this.getEntangleResistance());
|
||||
}
|
||||
|
||||
if (this.getPotentialEnergy()>0){
|
||||
this.getAttributes().put("res_potential_energy", ""+this.getPotentialEnergy());
|
||||
resource.getAttributes().put("res_potential_energy", ""+this.getPotentialEnergy());
|
||||
}
|
||||
}
|
||||
|
||||
// public void initializeStats(GalacticResource resource){
|
||||
// this.setResourceName(resource.getName());
|
||||
// this.setResourceClass(resource.getResourceRoot().getResourceClass());
|
||||
// this.setColdResistance(resource.getResourceStats()[0]);
|
||||
// this.setConductivity(resource.getResourceStats()[1]);
|
||||
// this.setDecayResistance(resource.getResourceStats()[2]);
|
||||
// this.setHeatResistance(resource.getResourceStats()[3]);
|
||||
// this.setMalleability(resource.getResourceStats()[4]);
|
||||
// this.setShockResistance(resource.getResourceStats()[5]);
|
||||
// this.setUnitToughness(resource.getResourceStats()[6]);
|
||||
// this.setEntangleResistance(resource.getResourceStats()[7]);
|
||||
// this.setPotentialEnergy(resource.getResourceStats()[8]);
|
||||
// this.setOverallQuality(resource.getResourceStats()[9]);
|
||||
// this.setFlavor(resource.getResourceStats()[10]);
|
||||
// this.setResourceType(resource.getResourceRoot().getResourceType());
|
||||
// this.setGeneralType(resource.getResourceRoot().getGeneralType());
|
||||
// this.setReferenceID(resource.getId());
|
||||
// this.setResourceFileName(resource.getResourceRoot().getResourceFileName());
|
||||
// }
|
||||
|
||||
|
||||
public long getContainerID() {
|
||||
return containerID;
|
||||
}
|
||||
@@ -411,6 +395,7 @@ public class ResourceContainerObject extends TangibleObject {
|
||||
|
||||
public void setStackCount(int stackCount) {
|
||||
this.stackCount = stackCount;
|
||||
this.getAttributes().put("@obj_attr_n:resource_contents", this.getStackCount()+"/"+maximalStackCapacity);
|
||||
}
|
||||
|
||||
public byte getContainerType() {
|
||||
|
||||
+11
-156
@@ -70,91 +70,7 @@ public class SurveyService implements INetworkDispatch {
|
||||
core.commandService.registerSurveyCommand("RequestCoreSample");
|
||||
}
|
||||
|
||||
public GalacticResource grabResourceByName(String searchName){
|
||||
GalacticResource resource = null;
|
||||
Vector<GalacticResource> allResources = core.resourceService.getAllSpawnedResources();
|
||||
for (GalacticResource res : allResources){
|
||||
if (res.getName().equals(searchName)){
|
||||
resource = res;
|
||||
}
|
||||
}
|
||||
return resource;
|
||||
}
|
||||
|
||||
public Vector<ResourceConcentration> buildConcentrationsCollection(Point3D measurePos, GalacticResource resource, float radius,float differential, int planetId){
|
||||
float leftXCoordinate = measurePos.x - (0.5f*radius);
|
||||
float topZCoordinate = measurePos.z - (0.5f*radius);
|
||||
// System.out.println("measurePos.x " + measurePos.x);
|
||||
// System.out.println("measurePos.z " + measurePos.z);
|
||||
float cursorX = leftXCoordinate;
|
||||
float cursorZ = topZCoordinate;
|
||||
int divisions=5;
|
||||
if (radius<=192.0f){
|
||||
divisions = 4;
|
||||
}
|
||||
if (radius<=64.0f){
|
||||
divisions = 3;
|
||||
}
|
||||
|
||||
Vector<ResourceConcentration> concentrationsCollection = new Vector<ResourceConcentration>();
|
||||
for (int z=0;z<divisions;z++) {
|
||||
for (int x=0;x<divisions;x++) {
|
||||
ResourceConcentration concentration = new ResourceConcentration(cursorX,cursorZ,(resource.deliverConcentrationForSurvey(planetId, cursorX, cursorZ)));
|
||||
concentrationsCollection.add(concentration);
|
||||
cursorZ+=differential;
|
||||
}
|
||||
cursorZ=topZCoordinate;
|
||||
cursorX+=differential;
|
||||
}
|
||||
return concentrationsCollection;
|
||||
}
|
||||
|
||||
public void constructSurveyMapMessage(CreatureObject crafter, Vector<ResourceConcentration> concentrationMap, float radius){
|
||||
|
||||
int pointsAmount = 25;
|
||||
if (radius<=64.0f) {
|
||||
pointsAmount=9;
|
||||
} else if (radius<=128.0) {
|
||||
pointsAmount = 16;
|
||||
} else if (radius<=192.0f) {
|
||||
pointsAmount = 16;
|
||||
} else if (radius<=256.0f) {
|
||||
pointsAmount = 25;
|
||||
} else if (radius>=256.0f) {
|
||||
pointsAmount = 25;
|
||||
}
|
||||
|
||||
SurveyMapUpdateMessage smuMsg = new SurveyMapUpdateMessage(concentrationMap, pointsAmount);
|
||||
crafter.getClient().getSession().write(smuMsg.serialize());
|
||||
services.resources.CharonPacketUtils.printAnalysis(smuMsg.serialize());
|
||||
|
||||
PlayerObject player = (PlayerObject) crafter.getSlottedObject("ghost");
|
||||
if (smuMsg.getHighestConcentration() > 0.10f){
|
||||
WaypointObject lastSurveyWaypoint = player.getLastSurveyWaypoint();
|
||||
WaypointObject surveyWaypoint = null;
|
||||
if (lastSurveyWaypoint==null){
|
||||
surveyWaypoint = (WaypointObject)core.objectService.createObject("object/waypoint/shared_world_waypoint_blue.iff", crafter.getPlanet(), smuMsg.getHighestX(), 0 ,smuMsg.getHighestZ());
|
||||
surveyWaypoint.setName("Survey location");
|
||||
surveyWaypoint.setPlanetCRC(engine.resources.common.CRC.StringtoCRC(crafter.getPlanet().getName()));
|
||||
surveyWaypoint.setPosition(new Point3D(smuMsg.getHighestX(),0, smuMsg.getHighestZ()));
|
||||
player.waypointAdd(surveyWaypoint);
|
||||
surveyWaypoint.setPosition(new Point3D(smuMsg.getHighestX(),0, smuMsg.getHighestZ()));
|
||||
surveyWaypoint.setActive(true);
|
||||
surveyWaypoint.setColor((byte)1);
|
||||
surveyWaypoint.setStringAttribute("", "");
|
||||
player.waypointAdd(surveyWaypoint);
|
||||
surveyWaypoint.setName("Survey location");
|
||||
surveyWaypoint.setPlanetCRC(engine.resources.common.CRC.StringtoCRC(crafter.getPlanet().getName()));
|
||||
player.setLastSurveyWaypoint(surveyWaypoint);
|
||||
} else {
|
||||
surveyWaypoint = lastSurveyWaypoint;
|
||||
surveyWaypoint.setPosition(new Point3D(smuMsg.getHighestX(),0, smuMsg.getHighestZ()));
|
||||
player.waypointUpdate(surveyWaypoint);
|
||||
}
|
||||
crafter.sendSystemMessage("@survey:survey_waypoint", (byte) 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void scheduleSurveyService(){
|
||||
|
||||
final ScheduledFuture<?> task = scheduler.scheduleAtFixedRate(new Runnable() {
|
||||
@@ -244,33 +160,10 @@ public class SurveyService implements INetworkDispatch {
|
||||
ResourceContainerObject containerObject = (ResourceContainerObject) core.objectService.createObject(resourceContainerIFF, crafter.getPlanet());
|
||||
containerObject.initializeStats(sampleResource);
|
||||
containerObject.setProprietor(crafter);
|
||||
|
||||
int resCRC = CRC.StringtoCRC(resourceContainerIFF);
|
||||
containerObject.setIffFileName(resourceContainerIFF);
|
||||
|
||||
long objectId = containerObject.getObjectID();
|
||||
SWGObject crafterInventory = crafter.getSlottedObject("inventory");
|
||||
containerObject.setParent(crafterInventory);
|
||||
|
||||
SceneCreateObjectByCrc createObjectMsg = new SceneCreateObjectByCrc(objectId, crafter.getOrientation().x, crafter.getOrientation().y, crafter.getOrientation().z, crafter.getOrientation().w, crafter.getPosition().x, crafter.getPosition().y, crafter.getPosition().z, resCRC, (byte) 0);
|
||||
crafter.getClient().getSession().write(createObjectMsg.serialize());
|
||||
services.resources.CharonPacketUtils.printAnalysis(createObjectMsg.serialize());
|
||||
|
||||
UpdateContainmentMessage updateContainmentMessage= new UpdateContainmentMessage(containerObject.getObjectID(), crafterInventory.getObjectID(), -1);
|
||||
crafter.getClient().getSession().write(updateContainmentMessage.serialize());
|
||||
containerObject.sendBaselines(crafter.getClient());
|
||||
|
||||
SceneEndBaselines sceneEndBaselinesMsg = new SceneEndBaselines(containerObject.getObjectID());
|
||||
crafter.getClient().getSession().write(sceneEndBaselinesMsg.serialize());
|
||||
services.resources.CharonPacketUtils.printAnalysis(sceneEndBaselinesMsg.serialize());
|
||||
|
||||
containerObject.buildAttributeListMessage(crafter.getClient());
|
||||
crafterInventory.add(containerObject);
|
||||
player.setRecentContainer(containerObject);
|
||||
|
||||
// base_player
|
||||
// prose_grant_xp
|
||||
// exp_n
|
||||
// resource_harvesting_inorganic
|
||||
|
||||
}
|
||||
} else { // Mismatch -> new container
|
||||
String resourceContainerIFF = ResourceRoot.CONTAINER_TYPE_IFF_SIGNIFIER[sampleResource.getResourceRoot().getContainerType()];
|
||||
@@ -278,28 +171,10 @@ public class SurveyService implements INetworkDispatch {
|
||||
ResourceContainerObject containerObject = (ResourceContainerObject) core.objectService.createObject(resourceContainerIFF, crafter.getPlanet());
|
||||
containerObject.initializeStats(sampleResource);
|
||||
containerObject.setProprietor(crafter);
|
||||
|
||||
int resCRC = CRC.StringtoCRC(resourceContainerIFF);
|
||||
containerObject.setIffFileName(resourceContainerIFF);
|
||||
|
||||
long objectId = containerObject.getObjectID();
|
||||
SWGObject crafterInventory = crafter.getSlottedObject("inventory");
|
||||
containerObject.setParent(crafterInventory);
|
||||
|
||||
SceneCreateObjectByCrc createObjectMsg = new SceneCreateObjectByCrc(objectId, crafter.getOrientation().x, crafter.getOrientation().y, crafter.getOrientation().z, crafter.getOrientation().w, crafter.getPosition().x, crafter.getPosition().y, crafter.getPosition().z, resCRC, (byte) 0);
|
||||
crafter.getClient().getSession().write(createObjectMsg.serialize());
|
||||
services.resources.CharonPacketUtils.printAnalysis(createObjectMsg.serialize());
|
||||
|
||||
UpdateContainmentMessage updateContainmentMessage= new UpdateContainmentMessage(containerObject.getObjectID(), crafterInventory.getObjectID(), -1);
|
||||
crafter.getClient().getSession().write(updateContainmentMessage.serialize());
|
||||
containerObject.sendBaselines(crafter.getClient());
|
||||
|
||||
SceneEndBaselines sceneEndBaselinesMsg = new SceneEndBaselines(containerObject.getObjectID());
|
||||
crafter.getClient().getSession().write(sceneEndBaselinesMsg.serialize());
|
||||
services.resources.CharonPacketUtils.printAnalysis(sceneEndBaselinesMsg.serialize());
|
||||
|
||||
containerObject.buildAttributeListMessage(crafter.getClient());
|
||||
crafterInventory.add(containerObject);
|
||||
player.setRecentContainer(containerObject);
|
||||
|
||||
}
|
||||
} else { // create new container, first sample
|
||||
String resourceContainerIFF = ResourceRoot.CONTAINER_TYPE_IFF_SIGNIFIER[sampleResource.getResourceRoot().getContainerType()];
|
||||
@@ -308,27 +183,8 @@ public class SurveyService implements INetworkDispatch {
|
||||
containerObject.setProprietor(crafter);
|
||||
stackCount = core.resourceService.getResourceSampleQuantity(crafter, sampleResource);
|
||||
containerObject.setStackCount(stackCount,false);
|
||||
|
||||
int resCRC = CRC.StringtoCRC(resourceContainerIFF);
|
||||
containerObject.setIffFileName(resourceContainerIFF);
|
||||
|
||||
long objectId = containerObject.getObjectID();
|
||||
SWGObject crafterInventory = crafter.getSlottedObject("inventory");
|
||||
containerObject.setParent(crafterInventory);
|
||||
|
||||
SceneCreateObjectByCrc createObjectMsg = new SceneCreateObjectByCrc(objectId, crafter.getOrientation().x, crafter.getOrientation().y, crafter.getOrientation().z, crafter.getOrientation().w, crafter.getPosition().x, crafter.getPosition().y, crafter.getPosition().z, resCRC, (byte) 0);
|
||||
crafter.getClient().getSession().write(createObjectMsg.serialize());
|
||||
services.resources.CharonPacketUtils.printAnalysis(createObjectMsg.serialize());
|
||||
|
||||
UpdateContainmentMessage updateContainmentMessage= new UpdateContainmentMessage(containerObject.getObjectID(), crafterInventory.getObjectID(), -1);
|
||||
crafter.getClient().getSession().write(updateContainmentMessage.serialize());
|
||||
containerObject.sendBaselines(crafter.getClient());
|
||||
|
||||
SceneEndBaselines sceneEndBaselinesMsg = new SceneEndBaselines(containerObject.getObjectID());
|
||||
crafter.getClient().getSession().write(sceneEndBaselinesMsg.serialize());
|
||||
services.resources.CharonPacketUtils.printAnalysis(sceneEndBaselinesMsg.serialize());
|
||||
|
||||
containerObject.buildAttributeListMessage(crafter.getClient());
|
||||
SWGObject crafterInventory = crafter.getSlottedObject("inventory");
|
||||
crafterInventory.add(containerObject);
|
||||
player.setRecentContainer(containerObject);
|
||||
}
|
||||
|
||||
@@ -371,7 +227,6 @@ public class SurveyService implements INetworkDispatch {
|
||||
|
||||
// Counter too frequent survey button activation
|
||||
if(surveyTool.getCurrentlySurveying()){
|
||||
//System.out.println("TOO FREQUENT!");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -385,7 +240,7 @@ public class SurveyService implements INetworkDispatch {
|
||||
addActiveSurveyTool(surveyTool);
|
||||
|
||||
String resourceNameString = commandArgs;
|
||||
GalacticResource resource = core.surveyService.grabResourceByName(resourceNameString);
|
||||
GalacticResource resource = core.resourceService.grabResourceByName(resourceNameString);
|
||||
|
||||
surveyTool.setCurrentlySurveying(true);
|
||||
surveyTool.setLastSurveyTime(System.currentTimeMillis());
|
||||
@@ -422,8 +277,8 @@ public class SurveyService implements INetworkDispatch {
|
||||
|
||||
float differential = surveyRadius / (float) divisor;
|
||||
GalacticResource resourceToSurvey = surveyTool.getSurveyResource();
|
||||
Vector<ResourceConcentration> concentrationMap = buildConcentrationsCollection(crafter.getPosition(),resourceToSurvey, surveyRadius, differential, crafter.getPlanetId());
|
||||
constructSurveyMapMessage(crafter, concentrationMap, surveyRadius);
|
||||
Vector<ResourceConcentration> concentrationMap = resourceToSurvey.buildConcentrationsCollection(crafter.getPosition(),resourceToSurvey, surveyRadius, differential, crafter.getPlanetId());
|
||||
resourceToSurvey.constructSurveyMapMessage(crafter, concentrationMap, surveyRadius);
|
||||
crafter.sendSystemMessage("Distance to nearest Deposit : " + resourceToSurvey.getHelperMinDist(), (byte) 0);
|
||||
}
|
||||
|
||||
@@ -780,8 +635,8 @@ public class SurveyService implements INetworkDispatch {
|
||||
|
||||
public SUICallback handleSurveyRangeInput(SWGObject crafter,SUIWindow suiWindow){
|
||||
SUICallback callback = suiWindow.getCallbackByEventId(1);
|
||||
if (callback!=null)
|
||||
System.out.println("handleExceptionalInput " + callback.toString());
|
||||
// if (callback!=null)
|
||||
// System.out.println("handleExceptionalInput " + callback.toString());
|
||||
core.suiService.closeSUIWindow(crafter, 0);
|
||||
return callback;
|
||||
}
|
||||
|
||||
@@ -11279,6 +11279,17 @@ public class ResourceService implements INetworkDispatch {
|
||||
return resourceRootreference;
|
||||
}
|
||||
|
||||
public GalacticResource grabResourceByName(String searchName){
|
||||
GalacticResource resource = null;
|
||||
Vector<GalacticResource> allResources = core.resourceService.getAllSpawnedResources();
|
||||
for (GalacticResource res : allResources){
|
||||
if (res.getName().equals(searchName)){
|
||||
resource = res;
|
||||
}
|
||||
}
|
||||
return resource;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Utility method to quickly spawn resource containers into the inventory
|
||||
|
||||
Reference in New Issue
Block a user