本文整理汇总了C++中StarSystem::GetCommodityBasePriceModPercent方法的典型用法代码示例。如果您正苦于以下问题:C++ StarSystem::GetCommodityBasePriceModPercent方法的具体用法?C++ StarSystem::GetCommodityBasePriceModPercent怎么用?C++ StarSystem::GetCommodityBasePriceModPercent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StarSystem
的用法示例。
在下文中一共展示了StarSystem::GetCommodityBasePriceModPercent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: l_starsystem_get_commodity_base_price_alterations
/*
* Method: GetCommodityBasePriceAlterations
*
* Get the price alterations for cargo items bought and sold in this system
*
* > alterations = system:GetCommodityBasePriceAlterations()
*
* Return:
*
* alterations - a table. The keys are <Constants.EquipType> strings for
* each cargo. The values are numbers that indicate the
* percentage change to each cargo base price. Loosely,
* positive values make the commodity more expensive,
* indicating it is in demand, while negative values make the
* commodity cheaper, indicating a surplus.
*
* Availability:
*
* alpha 10
*
* Status:
*
* experimental
*/
static int l_starsystem_get_commodity_base_price_alterations(lua_State *l)
{
LUA_DEBUG_START(l);
StarSystem *s = LuaStarSystem::CheckFromLua(1);
lua_newtable(l);
for (int e = Equip::FIRST_COMMODITY; e <= Equip::LAST_COMMODITY; e++) {
lua_pushstring(l, EnumStrings::GetString("EquipType", e));
lua_pushnumber(l, s->GetCommodityBasePriceModPercent(e));
lua_rawset(l, -3);
}
LUA_DEBUG_END(l, 1);
return 1;
}
示例2: l_starsystem_get_commodity_base_price_alterations
/*
* Method: GetCommodityBasePriceAlterations
*
* Get the price alterations for cargo items bought and sold in this system
*
* > alteration = system:GetCommodityBasePriceAlterations(cargo_item)
*
* Parameters:
*
* cargo_item - The cargo item for which one wants to know the alteration
* Return:
*
* percentage - percentage change to the cargo base price. Loosely,
* positive values make the commodity more expensive,
* indicating it is in demand, while negative values make the
* commodity cheaper, indicating a surplus.
*
* Availability:
*
* June 2014
*
* Status:
*
* experimental
*/
static int l_starsystem_get_commodity_base_price_alterations(lua_State *l)
{
PROFILE_SCOPED()
LUA_DEBUG_START(l);
StarSystem *s = LuaObject<StarSystem>::CheckFromLua(1);
LuaTable equip(l, 2);
if (!equip.CallMethod<bool>("IsValidSlot", "cargo")) {
luaL_error(l, "GetCommodityBasePriceAlterations takes a valid cargo item as argument.");
return 0;
}
equip.PushValueToStack("l10n_key"); // For now let's just use this poor man's hack.
GalacticEconomy::Commodity e = static_cast<GalacticEconomy::Commodity>(
LuaConstants::GetConstantFromArg(l, "CommodityType", -1));
lua_pop(l, 1);
lua_pushnumber(l, s->GetCommodityBasePriceModPercent(e));
LUA_DEBUG_END(l, 1);
return 1;
}
示例3: UpdateEconomyTab
void SystemInfoView::UpdateEconomyTab()
{
/* Economy info page */
StarSystem *s = m_system.Get();
std::string data;
/* if (s->m_econType) {
data = "Economy: ";
std::vector<std::string> v;
if (s->m_econType & ECON_AGRICULTURE) v.push_back("Agricultural");
if (s->m_econType & ECON_MINING) v.push_back("Mining");
if (s->m_econType & ECON_INDUSTRY) v.push_back("Industrial");
data += string_join(v, ", ");
data += "\n";
}
m_econInfo->SetText(data);
*/
/* imports and exports */
std::vector<std::string> crud;
data = std::string("#ff0")+std::string(Lang::MAJOR_IMPORTS)+std::string("\n");
for (int i=1; i<Equip::TYPE_MAX; i++) {
if (s->GetCommodityBasePriceModPercent(i) > 10)
crud.push_back(std::string("#fff")+Equip::types[i].name);
}
if (crud.size()) data += string_join(crud, "\n")+"\n";
else data += std::string("#777")+std::string(Lang::NONE)+std::string("\n");
m_econMajImport->SetText(data);
crud.clear();
data = std::string("#ff0")+std::string(Lang::MINOR_IMPORTS)+std::string("\n");
for (int i=1; i<Equip::TYPE_MAX; i++) {
if ((s->GetCommodityBasePriceModPercent(i) > 2) && (s->GetCommodityBasePriceModPercent(i) <= 10))
crud.push_back(std::string("#777")+Equip::types[i].name);
}
if (crud.size()) data += string_join(crud, "\n")+"\n";
else data += std::string("#777")+std::string(Lang::NONE)+std::string("\n");
m_econMinImport->SetText(data);
crud.clear();
data = std::string("#ff0")+std::string(Lang::MAJOR_EXPORTS)+std::string("\n");
for (int i=1; i<Equip::TYPE_MAX; i++) {
if (s->GetCommodityBasePriceModPercent(i) < -10)
crud.push_back(std::string("#fff")+Equip::types[i].name);
}
if (crud.size()) data += string_join(crud, "\n")+"\n";
else data += std::string("#777")+std::string(Lang::NONE)+std::string("\n");
m_econMajExport->SetText(data);
crud.clear();
data = std::string("#ff0")+std::string(Lang::MINOR_EXPORTS)+std::string("\n");
for (int i=1; i<Equip::TYPE_MAX; i++) {
if ((s->GetCommodityBasePriceModPercent(i) < -2) && (s->GetCommodityBasePriceModPercent(i) >= -10))
crud.push_back(std::string("#777")+Equip::types[i].name);
}
if (crud.size()) data += string_join(crud, "\n")+"\n";
else data += std::string("#777")+std::string(Lang::NONE)+std::string("\n");
m_econMinExport->SetText(data);
crud.clear();
data = std::string("#ff0")+std::string(Lang::ILLEGAL_GOODS)+std::string("\n");
for (int i=1; i<Equip::TYPE_MAX; i++) {
if (!Polit::IsCommodityLegal(s, Equip::Type(i)))
crud.push_back(std::string("#777")+Equip::types[i].name);
}
if (crud.size()) data += string_join(crud, "\n")+"\n";
else data += std::string("#777")+std::string(Lang::NONE)+std::string("\n");
m_econIllegal->SetText(data);
m_econInfoTab->ResizeRequest();
}