コード例 #1
0
void PlanetManagerImplementation::initialize() {
	performanceLocations = new MissionTargetMap();

	numberOfCities = 0;

	info("Loading planet.");

	planetTravelPointList->setZoneName(zone->getZoneName());

	loadClientRegions();
	loadClientPoiData();
	loadLuaConfig();
	loadTravelFares();

	loadBadgeAreas();
	loadPerformanceLocations();

	loadStaticTangibleObjects();

	if (zone->getZoneName() == "dathomir") {
		Reference<ActiveArea*> area = zone->getZoneServer()->createObject(String("object/fs_village_area.iff").hashCode(), 0).castTo<ActiveArea*>();
		area->setRadius(512.f);
		area->initializePosition(5306, 0, -4145);
		zone->transferObject(area, -1, true);
	}
}
コード例 #2
0
void PlanetManagerImplementation::loadLuaConfig() {
	String planetName = zone->getZoneName();

	Lua* lua = new Lua();
	lua->init();

	lua->runFile("scripts/managers/planet_manager.lua");

	//Get's the configuration settings object for this planet.
	LuaObject luaObject = lua->getGlobalObject(planetName);

	if (luaObject.isValidTable()) {

		bool weatherEnabled = luaObject.getIntField("weatherEnabled");
		if(weatherEnabled) {
			weatherManager = new WeatherManager(zone);
			weatherManager->initialize();
		} else {
			info("Weather Disabled", true);
		}

		bool gcwEnabled = luaObject.getIntField("gcwEnabled");
		if(gcwEnabled) {
			gcwManager = new GCWManager(zone);
			gcwManager->start();
		}

		LuaObject planetTravelPointsTable = luaObject.getObjectField("planetTravelPoints");
		planetTravelPointList->readLuaObject(&planetTravelPointsTable);
		planetTravelPointsTable.pop();

		loadSnapshotObjects();

		LuaObject planetObjectsTable = luaObject.getObjectField("planetObjects");
		loadPlanetObjects(&planetObjectsTable);
		planetObjectsTable.pop();

		LuaObject badges = luaObject.getObjectField("badgeAreas");
		loadBadgeAreas(&badges);
		badges.pop();

	} else {
		warning("Configuration settings not found.");
	}

	luaObject.pop();

	// Configure shuttleport timing
	if ((shuttleportAwayTime = lua->getGlobalInt("shuttleportAwayTime")) <= 0)
	  shuttleportAwayTime = 300;

	if ((shuttleportLandedTime = lua->getGlobalInt("shuttleportLandedTime")) <= 0)
	  shuttleportLandedTime = 120;

	if ((shuttleportLandingTime = lua->getGlobalInt("shuttleportLandingTime")) <= 0)
	  shuttleportLandingTime = 11;

	// Configure starport timing
	if ((starportAwayTime = lua->getGlobalInt("starportAwayTime")) <= 0)
	  starportAwayTime = 60;

	if ((starportLandedTime = lua->getGlobalInt("starportLandedTime")) <= 0)
	  starportLandedTime = 120;

	if ((starportLandingTime = lua->getGlobalInt("starportLandingTime")) <= 0)
	  starportLandingTime = 120;

	delete lua;
	lua = NULL;
}