当前位置: 首页>>代码示例>>C++>>正文


C++ MapSector::setStringProperty方法代码示例

本文整理汇总了C++中MapSector::setStringProperty方法的典型用法代码示例。如果您正苦于以下问题:C++ MapSector::setStringProperty方法的具体用法?C++ MapSector::setStringProperty怎么用?C++ MapSector::setStringProperty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MapSector的用法示例。


在下文中一共展示了MapSector::setStringProperty方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

/* QuickTextureOverlay3d::applyTexture
 * Applies the current texture to all selected walls/flats
 *******************************************************************/
void QuickTextureOverlay3d::applyTexture()
{
	// Check editor is associated
	if (!editor)
		return;

	// Get selection/hilight
	auto& selection = editor->selection();

	// Go through items
	if (!selection.empty())
	{
		for (unsigned a = 0; a < selection.size(); a++)
		{
			// Thing (skip)
			if (selection[a].type == MapEditor::ItemType::Thing)
				continue;

			// Floor
			else if (selection[a].type == MapEditor::ItemType::Floor && (sel_type == 0 || sel_type == 2))
			{
				MapSector* sector = editor->map().getSector(selection[a].index);
				if (sector) sector->setStringProperty("texturefloor", textures[current_index].name);
			}

			// Ceiling
			else if (selection[a].type == MapEditor::ItemType::Ceiling && (sel_type == 0 || sel_type == 2))
			{
				MapSector* sector = editor->map().getSector(selection[a].index);
				if (sector) sector->setStringProperty("textureceiling", textures[current_index].name);
			}

			// Wall
			else if (sel_type > 0)
			{
				MapSide* side = editor->map().getSide(selection[a].index);
				if (side)
				{
					// Upper
					if (selection[a].type == MapEditor::ItemType::WallTop)
						side->setStringProperty("texturetop", textures[current_index].name);
					// Middle
					else if (selection[a].type == MapEditor::ItemType::WallMiddle)
						side->setStringProperty("texturemiddle", textures[current_index].name);
					// Lower
					else if (selection[a].type == MapEditor::ItemType::WallBottom)
						side->setStringProperty("texturebottom", textures[current_index].name);
				}
			}
		}
	}
}
开发者ID:Talon1024,项目名称:SLADE,代码行数:55,代码来源:QuickTextureOverlay3d.cpp

示例2: applyChanges

/* SectorPropsPanel::applyChanges
 * Apply values to opened objects
 *******************************************************************/
void SectorPropsPanel::applyChanges()
{
	for (unsigned a = 0; a < objects.size(); a++)
	{
		MapSector* sector = (MapSector*)objects[a];

		// Special
		if (cb_override_special->GetValue())
			sector->setIntProperty("special", panel_special->getSelectedSpecial(theMapEditor->currentMapDesc().format));

		// Floor texture
		if (!fcb_floor->GetValue().IsEmpty())
			sector->setStringProperty("texturefloor", fcb_floor->GetValue());

		// Ceiling texture
		if (!fcb_ceiling->GetValue().IsEmpty())
			sector->setStringProperty("textureceiling", fcb_ceiling->GetValue());

		// Floor height
		if (!text_height_floor->GetValue().IsEmpty())
			sector->setIntProperty("heightfloor", text_height_floor->getNumber(sector->getFloorHeight()));

		// Ceiling height
		if (!text_height_ceiling->GetValue().IsEmpty())
			sector->setIntProperty("heightceiling", text_height_ceiling->getNumber(sector->getCeilingHeight()));

		// Light level
		if (!text_light->GetValue().IsEmpty())
			sector->setIntProperty("lightlevel", text_light->getNumber(sector->getLightLevel()));

		// Tag
		if (!text_tag->GetValue().IsEmpty())
			sector->setIntProperty("id", text_tag->getNumber(sector->getTag()));
	}

	if (mopp_all_props)
		mopp_all_props->applyChanges();
}
开发者ID:Genghoidal,项目名称:SLADE,代码行数:41,代码来源:SectorPropsPanel.cpp

示例3: if

/* MapEditContext::floodFill3d
 * Pastes previously copied wall/flat/thing info to selection and ad
 *******************************************************************/
void Edit3D::floodFill(CopyType type)
{
	// Get items to paste to
	auto& selection = context_.selection();
	auto items = getAdjacent(selection.hilight());

	// Restrict floodfill to selection, if any
	if (selection.size() > 0)
	{
		for (auto i = items.begin(); i < items.end(); ++i)
		{
			bool found = false;
			for (unsigned a = 0; a < selection.size(); a++)
			{
				if (selection[a].type == i->type && selection[a].index == i->index)
				{
					found = true;
					break;
				}
			}
			if (!found)
				items.erase(i);
		}
	}

	// Begin undo step
	string ptype = "Floodfill textures";
	undo_manager_->beginRecord(ptype);

	// Go through items
	for (unsigned a = 0; a < items.size(); a++)
	{
		// Wall
		if (items[a].type == ItemType::WallTop ||
			items[a].type == ItemType::WallMiddle ||
			items[a].type == ItemType::WallBottom)
		{
			auto side = context_.map().getSide(items[a].index);
			undo_manager_->recordUndoStep(new MapEditor::PropertyChangeUS(side));

			// Upper wall
			if (items[a].type == ItemType::WallTop)
			{
				// Texture
				if (type == CopyType::TexType)
					side->setStringProperty("texturetop", copy_texture_);
			}

				// Middle wall
			else if (items[a].type == ItemType::WallMiddle)
			{
				// Texture
				if (type == CopyType::TexType)
					side->setStringProperty("texturemiddle", copy_texture_);
			}

				// Lower wall
			else if (items[a].type == ItemType::WallBottom)
			{
				// Texture
				if (type == CopyType::TexType)
					side->setStringProperty("texturebottom", copy_texture_);
			}
		}

		// Flat
		else if (items[a].type == ItemType::Floor || items[a].type == ItemType::Ceiling)
		{
			MapSector* sector = context_.map().getSector(items[a].index);
			undo_manager_->recordUndoStep(new MapEditor::PropertyChangeUS(sector));

			// Floor
			if (items[a].type == ItemType::Floor)
			{
				// Texture
				if (type == CopyType::TexType)
					sector->setStringProperty("texturefloor", copy_texture_);
			}

			// Ceiling
			if (items[a].type == ItemType::Ceiling)
			{
				// Texture
				if (type == CopyType::TexType)
					sector->setStringProperty("textureceiling", copy_texture_);
			}
		}
	}

	// Editor message
	if (type == CopyType::TexType)
	{
		context_.addEditorMessage("Floodfilled Texture");
	}

	undo_manager_->endRecord(true);
}
开发者ID:Gaerzi,项目名称:SLADE,代码行数:100,代码来源:Edit3D.cpp


注:本文中的MapSector::setStringProperty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。