本文整理汇总了C++中LLParcel::getLocalID方法的典型用法代码示例。如果您正苦于以下问题:C++ LLParcel::getLocalID方法的具体用法?C++ LLParcel::getLocalID怎么用?C++ LLParcel::getLocalID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLParcel
的用法示例。
在下文中一共展示了LLParcel::getLocalID方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onForSaleBannerClick
void LLPanelPlaceProfile::onForSaleBannerClick()
{
LLViewerParcelMgr* mgr = LLViewerParcelMgr::getInstance();
LLParcel* parcel = mgr->getFloatingParcelSelection()->getParcel();
LLViewerRegion* selected_region = mgr->getSelectionRegion();
if(parcel && selected_region)
{
if(parcel->getLocalID() == mSelectedParcelID &&
mLastSelectedRegionID ==selected_region->getRegionID())
{
S32 price = parcel->getSalePrice();
if(price - gStatusBar->getBalance() > 0)
{
LLStringUtil::format_map_t args;
args["AMOUNT"] = llformat("%d", price);
LLBuyCurrencyHTML::openCurrencyFloater( LLTrans::getString("buying_selected_land", args), price );
}
else
{
LLViewerParcelMgr::getInstance()->startBuyLand();
}
}
else
{
LL_WARNS("Places") << "User is trying to buy remote parcel.Operation is not supported"<< LL_ENDL;
}
}
}
示例2: initialize
void LLFloaterAuction::initialize()
{
mParcelp = LLViewerParcelMgr::getInstance()->getParcelSelection();
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
LLParcel* parcelp = mParcelp->getParcel();
if(parcelp && region && !parcelp->getForSale())
{
mParcelHost = region->getHost();
mParcelID = parcelp->getLocalID();
childSetText("parcel_text", parcelp->getName());
childEnable("snapshot_btn");
childEnable("ok_btn");
}
else
{
mParcelHost.invalidate();
if(parcelp && parcelp->getForSale())
{
childSetText("parcel_text", getString("already for sale"));
}
else
{
childSetText("parcel_text", LLStringUtil::null);
}
mParcelID = -1;
childSetEnabled("snapshot_btn", false);
childSetEnabled("ok_btn", false);
}
mImageID.setNull();
mImage = NULL;
}
示例3: onClickWLStatusButton
void KCWindlightInterface::onClickWLStatusButton()
{
//clear the last notification if its still open
if (mClearWLNotification && !mClearWLNotification->isRespondedTo())
{
LLSD response = mClearWLNotification->getResponseTemplate();
response["Ignore"] = true;
mClearWLNotification->respond(response);
}
if (WLset)
{
LLParcel *parcel = NULL;
parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
if (parcel)
{
//TODO: this could be better
LLSD payload;
payload["local_id"] = parcel->getLocalID();
payload["land_owner"] = getOwnerID(parcel);
LLSD args;
args["PARCEL_NAME"] = parcel->getName();
mClearWLNotification = LLNotifications::instance().add("PhoenixWLClear", args, payload, boost::bind(&KCWindlightInterface::callbackParcelWLClear, this, _1, _2));
}
}
}
示例4: expandURLSubstitutions
//static
std::string LLWeb::expandURLSubstitutions(const std::string &url,
const LLSD &default_subs)
{
LLSD substitution = default_subs;
substitution["VERSION"] = LLVersionInfo::getVersion();
substitution["VERSION_MAJOR"] = LLVersionInfo::getMajor();
substitution["VERSION_MINOR"] = LLVersionInfo::getMinor();
substitution["VERSION_PATCH"] = LLVersionInfo::getPatch();
substitution["VERSION_BUILD"] = LLVersionInfo::getBuild();
substitution["CHANNEL"] = LLVersionInfo::getChannel();
// substitution["GRID"] = LLGridManager::getInstance()->getGridLabel();
// substitution["GRID_LOWERCASE"] = utf8str_tolower(LLGridManager::getInstance()->getGridLabel());
//NOTE: getGridLabel() returns e.g. "Second Life"
// getGridNick() returns e.g. "agni"
substitution["GRID"] = LLGridManager::getInstance()->getGridNick();
substitution["GRID_LOWERCASE"] = utf8str_tolower(LLGridManager::getInstance()->getGridNick());
substitution["OS"] = LLAppViewer::instance()->getOSInfo().getOSStringSimple();
substitution["SESSION_ID"] = gAgent.getSessionID();
substitution["FIRST_LOGIN"] = gAgent.isFirstLogin();
// work out the current language
std::string lang = LLUI::getLanguage();
if (lang == "en-us")
{
// *HACK: the correct fix is to change English.lproj/language.txt,
// but we're late in the release cycle and this is a less risky fix
lang = "en";
}
substitution["LANGUAGE"] = lang;
// find the region ID
LLUUID region_id;
LLViewerRegion *region = gAgent.getRegion();
if (region)
{
region_id = region->getRegionID();
}
substitution["REGION_ID"] = region_id;
// find the parcel local ID
S32 parcel_id = 0;
LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
if (parcel)
{
parcel_id = parcel->getLocalID();
}
substitution["PARCEL_ID"] = llformat("%d", parcel_id);
// expand all of the substitution strings and escape the url
std::string expanded_url = url;
LLStringUtil::format(expanded_url, substitution);
return LLWeb::escapeURL(expanded_url);
}
示例5: doShowObjects
// static
void LLFloaterSellLandUI::doShowObjects(void *userdata)
{
LLFloaterSellLandUI* self = (LLFloaterSellLandUI*)userdata;
LLParcel* parcel = self->mParcelSelection->getParcel();
if (!parcel) return;
send_parcel_select_objects(parcel->getLocalID(), RT_SELL);
// we shouldn't pass callback functor since it is registered in LLFunctorRegistration
LLNotificationsUtil::add("TransferObjectsHighlighted",
LLSD(), LLSD());
}
示例6: doShowObjects
// static
void LLFloaterSellLandUI::doShowObjects(void *userdata)
{
LLFloaterSellLandUI* self = (LLFloaterSellLandUI*)userdata;
LLParcel* parcel = self->mParcelSelection->getParcel();
if (!parcel) return;
send_parcel_select_objects(parcel->getLocalID(), RT_SELL);
LLNotificationsUtil::add("TransferObjectsHighlighted",
LLSD(), LLSD(),
&LLFloaterSellLandUI::callbackHighlightTransferable);
}
示例7: initialize
void LLFloaterAuction::initialize()
{
mParcelUpdateCapUrl.clear();
mParcelp = LLViewerParcelMgr::getInstance()->getParcelSelection();
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
LLParcel* parcelp = mParcelp->getParcel();
if(parcelp && region && !parcelp->getForSale())
{
mParcelHost = region->getHost();
mParcelID = parcelp->getLocalID();
mParcelUpdateCapUrl = region->getCapability("ParcelPropertiesUpdate");
childSetText("parcel_text", parcelp->getName());
childEnable("snapshot_btn");
childEnable("reset_parcel_btn");
childEnable("start_auction_btn");
LLPanelEstateInfo* panel = LLFloaterRegionInfo::getPanelEstate();
if (panel)
{ // Only enable "Sell to Anyone" on Teen grid or if we don't know the ID yet
U32 estate_id = panel->getEstateID();
childSetEnabled("sell_to_anyone_btn", (estate_id == ESTATE_TEEN || estate_id == 0));
}
else
{ // Don't have the panel up, so don't know if we're on the teen grid or not. Default to enabling it
childEnable("sell_to_anyone_btn");
}
}
else
{
mParcelHost.invalidate();
if(parcelp && parcelp->getForSale())
{
childSetText("parcel_text", getString("already for sale"));
}
else
{
childSetText("parcel_text", LLStringUtil::null);
}
mParcelID = -1;
childSetEnabled("snapshot_btn", false);
childSetEnabled("reset_parcel_btn", false);
childSetEnabled("sell_to_anyone_btn", false);
childSetEnabled("start_auction_btn", false);
}
mImageID.setNull();
mImage = NULL;
}
示例8: ParcelChange
void KCWindlightInterface::ParcelChange()
{
if (!gSavedSettings.getBOOL("PhoenixWLParcelEnabled") ||
(rlv_handler_t::isEnabled() && gRlvHandler.hasBehaviour(RLV_BHVR_SETENV)) )
return;
LLParcel *parcel = NULL;
S32 this_parcel_id = 0;
std::string desc;
parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
if (parcel)
{
this_parcel_id = parcel->getLocalID();
desc = parcel->getDesc();
}
if ( (this_parcel_id != mLastParcelID) || (mLastParcelDesc != desc) ) //parcel changed
{
//llinfos << "agent in new parcel: "<< this_parcel_id << " : " << parcel->getName() << llendl;
mLastParcelID = this_parcel_id;
mLastParcelDesc = desc;
mCurrentSpace = -2.f;
mCurrentSettings.clear();
setWL_Status(false); //clear the status bar icon
const LLVector3& agent_pos_region = gAgent.getPositionAgent();
mLastZ = lltrunc( agent_pos_region.mV[VZ] );
//clear the last notification if its still open
if (mSetWLNotification && !mSetWLNotification->isRespondedTo())
{
LLSD response = mSetWLNotification->getResponseTemplate();
response["Ignore"] = true;
mSetWLNotification->respond(response);
}
mEventTimer.reset();
mEventTimer.start();
// Apply new WL settings instantly on TP
if (mTPing)
{
mTPing = false;
tick();
}
}
}
示例9: ApplySettings
void KCWindlightInterface::ApplySettings(const LLSD& settings)
{
LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
if (!settings.has("local_id") || (settings["local_id"].asInteger() == parcel->getLocalID()) )
{
mCurrentSettings = settings;
ApplySkySettings(settings);
if (settings.has("water"))
{
LLWaterParamManager::instance()->loadPreset(settings["water"].asString(), true);
setWL_Status(true);
}
}
}
示例10: initialize
void LLFloaterAuction::initialize()
{
mParcelUpdateCapUrl.clear();
mParcelp = LLViewerParcelMgr::getInstance()->getParcelSelection();
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
LLParcel* parcelp = mParcelp->getParcel();
if(parcelp && region && !parcelp->getForSale())
{
mParcelHost = region->getHost();
mParcelID = parcelp->getLocalID();
mParcelUpdateCapUrl = region->getCapability("ParcelPropertiesUpdate");
getChild<LLUICtrl>("parcel_text")->setValue(parcelp->getName());
getChildView("snapshot_btn")->setEnabled(TRUE);
getChildView("reset_parcel_btn")->setEnabled(TRUE);
getChildView("start_auction_btn")->setEnabled(TRUE);
U32 estate_id = LLEstateInfoModel::instance().getID();
// Only enable "Sell to Anyone" on Teen grid or if we don't know the ID yet
getChildView("sell_to_anyone_btn")->setEnabled(estate_id == ESTATE_TEEN || estate_id == 0);
}
else
{
mParcelHost.invalidate();
if(parcelp && parcelp->getForSale())
{
getChild<LLUICtrl>("parcel_text")->setValue(getString("already for sale"));
}
else
{
getChild<LLUICtrl>("parcel_text")->setValue(LLStringUtil::null);
}
mParcelID = -1;
getChildView("snapshot_btn")->setEnabled(false);
getChildView("reset_parcel_btn")->setEnabled(false);
getChildView("sell_to_anyone_btn")->setEnabled(false);
getChildView("start_auction_btn")->setEnabled(false);
}
mImageID.setNull();
mImage = NULL;
}
示例11:
LLViewerParcelMediaInfo::LLViewerParcelMediaInfo(const std::string url,
const std::string type,
const LLUUID media_id,
const S32 width,
const S32 height,
const U8 scale,
const U8 loop)
:
mMediaURL(url),
mMediaType(type),
mMediaID(media_id),
mMediaWidth(width),
mMediaHeight(height),
mMediaAutoScale(scale),
mMediaLoop(loop)
{
LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
mParcelLocalID = parcel ? parcel->getLocalID() : 0;
}
示例12: doSellToAnyone
// Reset all the values for the parcel in preparation for a sale
void LLFloaterAuction::doSellToAnyone()
{
LLParcel* parcelp = mParcelp->getParcel();
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
if (parcelp
&& region
&& !mParcelUpdateCapUrl.empty())
{
LLSD body;
std::string empty;
// request new properties update from simulator
U32 message_flags = 0x01;
body["flags"] = ll_sd_from_U32(message_flags);
// Set all the default parcel properties for auction
body["local_id"] = parcelp->getLocalID();
// Set 'for sale' flag
U32 parcel_flags = parcelp->getParcelFlags() | PF_FOR_SALE;
// Ensure objects not included
parcel_flags &= ~PF_FOR_SALE_OBJECTS;
body["parcel_flags"] = ll_sd_from_U32(parcel_flags);
body["sale_price"] = parcelp->getArea(); // Sell for L$1 per square meter
body["auth_buyer_id"] = LLUUID::null; // To anyone
// <FS:AW opensim currency support>
// llinfos << "Sending parcel update to sell to anyone for L$1 via capability to: "
llinfos << Tea::wrapCurrency("Sending parcel update to sell to anyone for L$1 via capability to: ")
// <FS:AW opensim currency support>
<< mParcelUpdateCapUrl << llendl;
LLHTTPClient::post(mParcelUpdateCapUrl, body, new LLHTTPClient::Responder());
// clean up floater, and get out
cleanupAndClose();
}
}
示例13: doResetParcel
// Reset all the values for the parcel in preparation for a sale
void LLFloaterAuction::doResetParcel()
{
LLParcel* parcelp = mParcelp->getParcel();
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
if (parcelp
&& region
&& !mParcelUpdateCapUrl.empty())
{
LLSD body;
std::string empty;
// request new properties update from simulator
U32 message_flags = 0x01;
body["flags"] = ll_sd_from_U32(message_flags);
// Set all the default parcel properties for auction
body["local_id"] = parcelp->getLocalID();
U32 parcel_flags = PF_ALLOW_LANDMARK |
PF_ALLOW_FLY |
PF_CREATE_GROUP_OBJECTS |
PF_ALLOW_ALL_OBJECT_ENTRY |
PF_ALLOW_GROUP_OBJECT_ENTRY |
PF_ALLOW_GROUP_SCRIPTS |
PF_RESTRICT_PUSHOBJECT |
PF_SOUND_LOCAL |
PF_ALLOW_VOICE_CHAT |
PF_USE_ESTATE_VOICE_CHAN;
body["parcel_flags"] = ll_sd_from_U32(parcel_flags);
// Build a parcel name like "Ahern (128,128) PG 4032m"
std::ostringstream parcel_name;
LLVector3 center_point( parcelp->getCenterpoint() );
center_point.snap(0); // Get rid of fractions
parcel_name << region->getName()
<< " ("
<< (S32) center_point.mV[VX]
<< ","
<< (S32) center_point.mV[VY]
<< ") "
<< region->getSimAccessString()
<< " "
<< parcelp->getArea()
<< "m";
std::string new_name(parcel_name.str().c_str());
body["name"] = new_name;
getChild<LLUICtrl>("parcel_text")->setValue(new_name); // Set name in dialog as well, since it won't get updated otherwise
body["sale_price"] = (S32) 0;
body["description"] = empty;
body["music_url"] = empty;
body["media_url"] = empty;
body["media_desc"] = empty;
body["media_type"] = LLMIMETypes::getDefaultMimeType();
body["media_width"] = (S32) 0;
body["media_height"] = (S32) 0;
body["auto_scale"] = (S32) 0;
body["media_loop"] = (S32) 0;
body["obscure_media"] = (S32) 0; // OBSOLETE - no longer used
body["obscure_music"] = (S32) 0; // OBSOLETE - no longer used
body["media_id"] = LLUUID::null;
body["group_id"] = MAINTENANCE_GROUP_ID; // Use maintenance group
body["pass_price"] = (S32) 10; // Defaults to $10
body["pass_hours"] = 0.0f;
body["category"] = (U8) LLParcel::C_NONE;
body["auth_buyer_id"] = LLUUID::null;
body["snapshot_id"] = LLUUID::null;
body["user_location"] = ll_sd_from_vector3( LLVector3::zero );
body["user_look_at"] = ll_sd_from_vector3( LLVector3::zero );
body["landing_type"] = (U8) LLParcel::L_DIRECT;
llinfos << "Sending parcel update to reset for auction via capability to: "
<< mParcelUpdateCapUrl << llendl;
LLHTTPClient::post(mParcelUpdateCapUrl, body, new LLHTTPClient::Responder());
// Send a message to clear the object return time
LLMessageSystem *msg = gMessageSystem;
msg->newMessageFast(_PREHASH_ParcelSetOtherCleanTime);
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->nextBlockFast(_PREHASH_ParcelData);
msg->addS32Fast(_PREHASH_LocalID, parcelp->getLocalID());
msg->addS32Fast(_PREHASH_OtherCleanTime, 5); // 5 minute object auto-return
msg->sendReliable(region->getHost());
// Clear the access lists
clearParcelAccessLists(parcelp, region);
}
}
示例14: ChatCommand
bool KCWindlightInterface::ChatCommand(std::string message, std::string from_name, LLUUID source_id, LLUUID owner_id)
{
boost::cmatch match;
const boost::regex prefix_exp("^\\)\\*\\((.*)");
if(boost::regex_match(message.c_str(), match, prefix_exp))
{
std::string data(match[1].first, match[1].second);
//TODO: expand these or good as is?
/*const boost::regex setWLpreset_exp("^setWLpreset\\|(.*)");
const boost::regex setWWpreset_exp("^setWWpreset\\|(.*)");
if(boost::regex_match(data.c_str(), match, setWLpreset_exp))
{
llinfos << "got setWLpreset : " << match[1] << llendl;
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
LLWLParamManager::instance()->loadPreset(match[1]);
return true;
}
else if(boost::regex_match(data.c_str(), match, setWWpreset_exp))
{
llinfos << "got setWWpreset : " << match[1] << llendl;
LLWaterParamManager::instance()->loadPreset(match[1], true);
return true;
}
else
{*/
//TODO: add save settings for reuse instead of just clearing on parcel change
//TODO: add support for region wide settings on non-mainland
//TODO: add support for targeting specfic users
//TODO: add support for custom settings via notecards or something
//TODO: improved data processing, possibly just use LLSD as input instead
boost::smatch match2;
const boost::regex Parcel_exp("^(Parcel),WLPreset=\"([^\"\\r\\n]+)\"(,WWPreset=\"([^\"\\r\\n]+)\")?$");
//([\\w]{8}-[\\w]{4}-[\\w]{4}-[\\w]{4}-[\\w]{12})
if(boost::regex_search(data, match2, Parcel_exp))
{
if (SetDialogVisible) //TODO: handle this better
return true;
if (match2[1]=="Parcel")
{
llinfos << "Got Parcel WL : " << match[2] << llendl;
LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
LLSD payload;
payload["local_id"] = parcel->getLocalID();
payload["land_owner"] = parcel->getOwnerID();
payload["wlpreset"] = std::string(match2[2].first, match2[2].second);
payload["wwpreset"] = std::string(match2[3].first, match2[3].second);
LLSD args;
args["PARCEL_NAME"] = parcel->getName();
LLNotifications::instance().add("PhoenixWL", args, payload, boost::bind(&KCWindlightInterface::callbackParcelWL, this, _1, _2));
SetDialogVisible = true;
}
return true;
}
/*}*/
}
return false;
}