本文整理汇总了C++中Datapad::removeManufacturingSchematic方法的典型用法代码示例。如果您正苦于以下问题:C++ Datapad::removeManufacturingSchematic方法的具体用法?C++ Datapad::removeManufacturingSchematic怎么用?C++ Datapad::removeManufacturingSchematic使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Datapad
的用法示例。
在下文中一共展示了Datapad::removeManufacturingSchematic方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: destroyObject
void ObjectController::destroyObject(uint64 objectId)
{
CreatureObject* creature = dynamic_cast<CreatureObject*>(mObject); PlayerObject* playerObject = creature->GetGhost();
Datapad* datapad = playerObject->getDataPad();
Object* object = gWorldManager->getObjectById(objectId);
auto equip_service = gWorldManager->getKernel()->GetServiceManager()->GetService<swganh::equipment::EquipmentService>("EquipmentService");
auto inventory = dynamic_cast<Inventory*>(equip_service->GetEquippedObject(playerObject->GetCreature(), "inventory"));
//could be a schematic!
ManufacturingSchematic* schem = datapad->getManufacturingSchematicById(objectId);
if(schem != NULL)
{
//delete schematic
datapad->removeManufacturingSchematic(objectId);
//delete schematic object
gObjectFactory->deleteObjectFromDB(schem);
gMessageLib->sendDestroyObject(objectId,playerObject);
return;
}
// or something else
if(object == NULL)
{
DLOG(info) << "ObjController::destroyObject: could not find object " << objectId;
return;
}
// waypoint
if(object->getType() == ObjType_Waypoint)
{
// delete from db
gObjectFactory->deleteObjectFromDB(object);
if(!datapad) {
LOG(error) << "ObjectController::destroyObject cant get datapad to destroy waypoint : " << object->getId();
return;
}
datapad->RemoveWaypoint(object->getId());
//remove from grid and/or container
gWorldManager->destroyObject(object);
}
//Inangible Objects
if(object->getType() == ObjType_Intangible)
{
gObjectFactory->deleteObjectFromDB(object);
//remove from grid and/or container
gWorldManager->destroyObject(object);
}
// tangible
else if(object->getType() == ObjType_Tangible)
{
TangibleObject* tangibleObject = dynamic_cast<TangibleObject*>(object);
auto equip_service = gWorldManager->getKernel()->GetServiceManager()->GetService<swganh::equipment::EquipmentService>("EquipmentService");
auto inventory = dynamic_cast<Inventory*>(equip_service->GetEquippedObject(playerObject->GetCreature(), "inventory"));
// items
if(Item* item = dynamic_cast<Item*>(tangibleObject))
{
// handle any family specifics
switch(item->getItemFamily())
{
case ItemFamily_CraftingTools: _handleDestroyCraftingTool(dynamic_cast<CraftingTool*>(item)); break;
case ItemFamily_Instrument: _handleDestroyInstrument(item); break;
default:break;
}
}
// reset pending ui callbacks
playerObject->resetUICallbacks(object);
// delete from db CAVE :: mark if its an Object saved in the db!!!!
// temporary placed instruments are not saved in the db
gObjectFactory->deleteObjectFromDB(object);
//remove from grid and/or container and/or World
gWorldManager->destroyObject(object);
}
//.........这里部分代码省略.........
示例2: destroyObject
void ObjectController::destroyObject(uint64 objectId)
{
PlayerObject* playerObject = dynamic_cast<PlayerObject*>(mObject);
Datapad* datapad = dynamic_cast<Datapad*>(playerObject->getEquipManager()->getEquippedObject(CreatureEquipSlot_Datapad));
Object* object = gWorldManager->getObjectById(objectId);
//could be a schematic!
ManufacturingSchematic* schem = datapad->getManufacturingSchematicById(objectId);
if(schem != NULL)
{
//delete schematic
datapad->removeManufacturingSchematic(objectId);
//delete schematic object
gObjectFactory->deleteObjectFromDB(schem);
gMessageLib->sendDestroyObject(objectId,playerObject);
return;
}
// could be a waypoint
if(object == NULL)
{
object = datapad->getWaypointById(objectId);
}
// or something else
if(object == NULL)
{
gLogger->logMsgF("ObjController::destroyObject: could not find object %"PRIu64"",MSG_NORMAL,objectId);
return;
}
// waypoint
if(object->getType() == ObjType_Waypoint)
{
// update our datapad
if(!(datapad->removeWaypoint(objectId)))
{
gLogger->logMsgF("ObjController::handleDestroyObject: Error removing Waypoint from datapad %"PRIu64"",MSG_NORMAL,objectId);
}
gMessageLib->sendUpdateWaypoint(dynamic_cast<WaypointObject*>(object),ObjectUpdateDelete,playerObject);
// delete from db
gObjectFactory->deleteObjectFromDB(object);
delete(object);
}
//Inangible Objects
if(object->getType() == ObjType_Intangible)
{
//update the datapad
if(!(datapad->removeData(objectId)))
{
gLogger->logMsgF("ObjController::handleDestroyObject: Error removing Data from datapad %"PRIu64"",MSG_NORMAL,objectId);
}
if(Vehicle* vehicle = dynamic_cast<Vehicle*>(object))
{
vehicle->store();
}
gObjectFactory->deleteObjectFromDB(object);
gMessageLib->sendDestroyObject(objectId,playerObject);
}
// tangible
else if(object->getType() == ObjType_Tangible)
{
TangibleObject* tangibleObject = dynamic_cast<TangibleObject*>(object);
// items
if(Item* item = dynamic_cast<Item*>(tangibleObject))
{
// Does the item have a owner?
/*
if (item->getOwner() != 0)
{
gLogger->logMsgF("ObjController::handleDestroyObject: OwnerId = %"PRIu64", playerId = %"PRIu64"", MSG_NORMAL, item->getOwner(), playerObject->getId());
// Yes, is it my item?
if (item->getOwner() != playerObject->getId())
{
// Not allowed to delete this item.
gMessageLib->sendSystemMessage(playerObject,L"","error_message","insufficient_permissions");
return;
}
}
*/
// handle any family specifics
switch(item->getItemFamily())
{
case ItemFamily_CraftingTools:
_handleDestroyCraftingTool(dynamic_cast<CraftingTool*>(item));
//.........这里部分代码省略.........
示例3: destroyObject
void ObjectController::destroyObject(uint64 objectId)
{
PlayerObject* playerObject = dynamic_cast<PlayerObject*>(mObject);
Datapad* datapad = playerObject->getDataPad();
Object* object = gWorldManager->getObjectById(objectId);
//could be a schematic!
ManufacturingSchematic* schem = datapad->getManufacturingSchematicById(objectId);
if(schem != NULL)
{
//delete schematic
datapad->removeManufacturingSchematic(objectId);
//delete schematic object
gObjectFactory->deleteObjectFromDB(schem);
gMessageLib->sendDestroyObject(objectId,playerObject);
return;
}
// could be a waypoint
if(object == NULL)
{
object = datapad->getWaypointById(objectId);
}
// or something else
if(object == NULL)
{
gLogger->log(LogManager::DEBUG,"ObjController::destroyObject: could not find object %"PRIu64"",objectId);
return;
}
// waypoint
if(object->getType() == ObjType_Waypoint)
{
// update our datapad
if(!(datapad->removeWaypoint(objectId)))
{
gLogger->log(LogManager::DEBUG,"ObjController::handleDestroyObject: Error removing Waypoint from datapad %"PRIu64"",objectId);
}
gMessageLib->sendUpdateWaypoint(dynamic_cast<WaypointObject*>(object),ObjectUpdateDelete,playerObject);
// delete from db
gObjectFactory->deleteObjectFromDB(object);
delete(object);
}
//Inangible Objects
if(object->getType() == ObjType_Intangible)
{
//update the datapad
if(!(datapad->removeData(objectId)))
{
gLogger->log(LogManager::DEBUG,"ObjController::handleDestroyObject: Error removing Data from datapad %"PRIu64"",objectId);
}
if(VehicleController* vehicle = dynamic_cast<VehicleController*>(object))
{
vehicle->Store();
}
gObjectFactory->deleteObjectFromDB(object);
gMessageLib->sendDestroyObject(objectId,playerObject);
delete(object);
}
// tangible
else if(object->getType() == ObjType_Tangible)
{
TangibleObject* tangibleObject = dynamic_cast<TangibleObject*>(object);
BuildingObject* building = dynamic_cast<BuildingObject*>(tangibleObject->getObjectMainParent(tangibleObject));
if(building)
{
if(!building->hasAdminRights(playerObject->getId()))
{
return;
}
}
if(tangibleObject->getParentId() == 0)
{
return;
}
Inventory* inventory = dynamic_cast<Inventory*>(playerObject->getEquipManager()->getEquippedObject(CreatureEquipSlot_Inventory));
// items
if(Item* item = dynamic_cast<Item*>(tangibleObject))
{
// handle any family specifics
switch(item->getItemFamily())
//.........这里部分代码省略.........