void PlayerStructureTerminal::prepareCustomRadialMenu(CreatureObject* player, uint8 itemCount) { RadialMenu* radial = new RadialMenu(); // any object with callbacks needs to handle those (received with menuselect messages) ! radial->addItem(1,0,radId_examine,radAction_Default,""); radial->addItem(2,0,radId_serverTerminalManagement,radAction_ObjCallback,"@player_structure:management"); radial->addItem(3,0,radId_serverTerminalPermissions,radAction_ObjCallback, "@player_structure:permissions"); //test if the caller is on the permission list //radial->addItem(4,2,radId_serverTerminalManagementDestroy,radAction_ObjCallback,"@player_structure:permission_destroy ");//destroy HouseObject* house = dynamic_cast<HouseObject*>(gWorldManager->getObjectById(this->getStructure())); if(house) { radial->addItem(4,2,radId_serverTerminalManagementDestroy,radAction_ObjCallback,"@player_structure:permission_destroy ");//destroy radial->addItem(5,2,radId_serverTerminalManagementStatus,radAction_ObjCallback,"@player_structure:management_status"); radial->addItem(6,2,radId_serverTerminalManagementPay,radAction_ObjCallback,"@player_structure:management_pay"); radial->addItem(7,2,radId_serverTerminalManagementPrivacy,radAction_ObjCallback,"@player_structure:management_privacy"); radial->addItem(8,3,radId_serverTerminalPermissionsAdmin,radAction_ObjCallback,"@player_structure:permission_admin"); radial->addItem(9,3,radId_serverTerminalPermissionsBanned,radAction_ObjCallback,"@player_structure:permission_banned"); radial->addItem(10,3,radId_serverTerminalPermissionsEnter,radAction_ObjCallback,"@player_structure:permission_enter"); } RadialMenuPtr radialPtr(radial); mRadialMenu = radialPtr; }
void Medicine::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { RadialMenu* radial = new RadialMenu(); radial->addItem(1,0,radId_itemUse,radAction_ObjCallback,""); radial->addItem(2,0,radId_examine,radAction_ObjCallback,""); radial->addItem(3,0,radId_itemDestroy,radAction_ObjCallback,""); RadialMenuPtr radialPtr(radial); mRadialMenu = radialPtr; }
//============================================================================= // prepares the custom radial for our harvester void FactoryObject::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { PlayerObject* player = dynamic_cast<PlayerObject*>(creatureObject); if(!player) { gLogger->logMsgF("HarvesterObject::handleObjectMenuSelect::could not find player",MSG_HIGH); return; } RadialMenu* radial = new RadialMenu(); //radId_serverHouseManage uint8 i = 0; radial->addItem(++i,0,radId_examine,radAction_Default,""); radial->addItem(++i,0,radId_serverHarvesterManage,radAction_ObjCallback,"Structure Management"); radial->addItem(++i,0,radId_serverTerminalManagement,radAction_ObjCallback,"Structure Permissions"); radial->addItem(++i,0,radId_StructureOptions,radAction_ObjCallback,"Options"); radial->addItem(++i,2,radId_serverTerminalManagementDestroy,radAction_ObjCallback,"Destroy Structure"); radial->addItem(++i,2,radId_StructureStatus,radAction_ObjCallback,"Status"); radial->addItem(++i,2,radId_payMaintenance,radAction_ObjCallback,"Pay Maintenance"); radial->addItem(++i,2,radId_setName,radAction_ObjCallback,"Set Name"); radial->addItem(++i,2,radId_depositPower,radAction_ObjCallback,"Deposit Power"); radial->addItem(++i,3,radId_serverTerminalPermissionsAdmin,radAction_ObjCallback,"Admin List"); radial->addItem(++i,3,radId_serverTerminalPermissionsHopper,radAction_ObjCallback,"Hopper List"); if(mManSchematicID) { if(!mActive) radial->addItem(++i,4,radId_StartManufacture,radAction_ObjCallback,"Start manufacturing objects"); else radial->addItem(++i,4,radId_StopManufacture,radAction_ObjCallback,"Stop manufacturing objects"); radial->addItem(++i,4,radId_ListIngredients,radAction_ObjCallback,"List ingredients needed for station"); } radial->addItem(++i,4,radId_serverManfStationSchematic,radAction_ObjCallback,"Access schematic slot"); radial->addItem(++i,4,radId_serverManfHopperInput,radAction_ObjCallback,"Access station ingredient hopper"); radial->addItem(++i,4,radId_serverManfHopperOutput,radAction_ObjCallback,"Access station output hopper"); RadialMenuPtr radialPtr(radial); mRadialMenu = radialPtr; }
void Deed::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { RadialMenu* radial = new RadialMenu(); uint8 radId = 1; //if we have a prefab Menu (we will have one as a deed) iterate through it and add it to our response //this way we will have our menu item numbering done right MenuItemList* menuItemList = getMenuList(); if(menuItemList) { MenuItemList::iterator it = menuItemList->begin(); while(it != menuItemList->end()) { radId++; if((*it)->sIdentifier == 7) { radial->addItem((*it)->sItem,(*it)->sSubMenu,(RadialIdentifier)(*it)->sIdentifier,radAction_ObjCallback,""); } else radial->addItem((*it)->sItem,(*it)->sSubMenu,(RadialIdentifier)(*it)->sIdentifier,radAction_Default,""); //gLogger->logMsgF("menu item id : %u",MSG_HIGH,(*it)->sIdentifier); it++; } } radial->addItem(radId++,0,radId_itemUse,radAction_ObjCallback,""); radial->addItem(radId++,0,radId_examine,radAction_ObjCallback,""); radial->addItem(radId++,0,radId_itemDestroy,radAction_ObjCallback,""); RadialMenuPtr radialPtr(radial); mRadialMenu = radialPtr; }
//============================================================================= // prepares the custom radial for our harvester void HarvesterObject::prepareCustomRadialMenu(CreatureObject* creatureObject, uint8 itemCount) { PlayerObject* player = dynamic_cast<PlayerObject*>(creatureObject); if(!player) { gLogger->log(LogManager::DEBUG,"HarvesterObject::prepareCustomRadialMenu::could not find player"); return; } RadialMenu* radial = new RadialMenu(); //radId_serverHouseManage radial->addItem(1,0,radId_examine,radAction_Default,""); radial->addItem(2,0,radId_serverHarvesterManage,radAction_ObjCallback,"Structure Management"); radial->addItem(3,0,radId_serverTerminalManagement,radAction_ObjCallback,"Structure Permissions"); radial->addItem(4,2,radId_serverTerminalManagementDestroy,radAction_ObjCallback,"Destroy Structure");//destroy radial->addItem(5,2,radId_StructureStatus,radAction_ObjCallback,"Status");//destroy radial->addItem(6,2,radId_payMaintenance,radAction_ObjCallback,"Pay Maintenance");//destroy radial->addItem(7,2,radId_setName,radAction_ObjCallback,"Set Name");//destroy radial->addItem(8,2,radId_operateHarvester,radAction_ObjCallback,"Operate Harvester");//destroy //generators dont need power uint32 type = this->getHarvesterFamily(); if((type != 41)&&(type != 42)&&(type != 43)) radial->addItem(9,2,radId_depositPower,radAction_ObjCallback,"Deposit Power");//destroy radial->addItem(10,3,radId_serverTerminalPermissionsAdmin,radAction_ObjCallback,"Admin List");//destroy radial->addItem(11,3,radId_serverTerminalPermissionsHopper,radAction_ObjCallback,"Hopper List");//destroy RadialMenuPtr radialPtr(radial); mRadialMenu = radialPtr; }