/******************************************************************************* * Copyright (c) 2013 * * This File is part of NGECore2. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. ******************************************************************************/ package services; import java.util.Map; import main.NGECore; import engine.resources.objects.SWGObject; import engine.resources.scene.Planet; import engine.resources.scene.Point3D; import engine.resources.scene.Quaternion; import engine.resources.service.INetworkDispatch; import engine.resources.service.INetworkRemoteEvent; public class StaticService implements INetworkDispatch { private NGECore core; public StaticService(NGECore core) { this.core = core; } @Override public void insertOpcodes(Map arg0, Map arg1) { } @Override public void shutdown() { } public void spawnPlanetStaticObjs(String planet) { Planet planetObj = (Planet) core.terrainService.getPlanetByName(planet); core.scriptService.callScript("scripts/static_spawns", "addPlanetSpawns", planetObj.getName(), core, planetObj); System.out.println("Loaded static objs for " + planetObj.getName()); //spawnObject("object/static/worldbuilding/structures/shared_mun_nboo_bank_destroyed.iff", "rori", (long) 0, (float) 5180.96, (float) 80, (float) 5583.95, (float) 0, (float) 1); } public void spawnObject(String template, String planetName, long cellId, float x, float y, float z, float qY, float qW) { Planet planet = core.terrainService.getPlanetByName(planetName); System.out.println("template: " + template + " x: " + x + " y: " + y + " z: " + z); if(planet == null) { System.out.println("Cant spawn static object because planet is null"); return; } SWGObject object = core.objectService.createObject(template, 0, planet, new Point3D(x, y, z), new Quaternion(qW, 0, qY, 0)); if(object == null) { System.out.println("Static object is null"); return; } if(cellId == 0) core.simulationService.add(object, (float) x, (float) y); else { SWGObject parent = core.objectService.getObject(cellId); if(parent == null) { System.out.println("Cell not found"); return; } parent.add(object); } } }