<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.crymod.net/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.crymod.net/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BC%D1%8B%D1%88%D0%BA%D0%BE%D0%B9</id>
		<title>Выбор сущности мышкой - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.crymod.net/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BC%D1%8B%D1%88%D0%BA%D0%BE%D0%B9"/>
		<link rel="alternate" type="text/html" href="http://wiki.crymod.net/index.php?title=%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BC%D1%8B%D1%88%D0%BA%D0%BE%D0%B9&amp;action=history"/>
		<updated>2026-08-06T08:09:06Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<entry>
		<id>http://wiki.crymod.net/index.php?title=%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BC%D1%8B%D1%88%D0%BA%D0%BE%D0%B9&amp;diff=2467&amp;oldid=prev</id>
		<title>DCamer в 17:29, 10 июня 2011</title>
		<link rel="alternate" type="text/html" href="http://wiki.crymod.net/index.php?title=%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BC%D1%8B%D1%88%D0%BA%D0%BE%D0%B9&amp;diff=2467&amp;oldid=prev"/>
				<updated>2011-06-10T17:29:08Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 17:29, 10 июня 2011&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 96:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 96:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;noinclude&amp;gt;[[Категория:Шаблоны:Примеры кода]]&amp;lt;/noinclude&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>DCamer</name></author>	</entry>

	<entry>
		<id>http://wiki.crymod.net/index.php?title=%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BC%D1%8B%D1%88%D0%BA%D0%BE%D0%B9&amp;diff=1869&amp;oldid=prev</id>
		<title>Alex626: Новая страница: «&lt;!-- Введите информацию о вашем примере C++, в каждый      раздел после знака равно. Информация ...»</title>
		<link rel="alternate" type="text/html" href="http://wiki.crymod.net/index.php?title=%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BC%D1%8B%D1%88%D0%BA%D0%BE%D0%B9&amp;diff=1869&amp;oldid=prev"/>
				<updated>2011-05-05T11:51:32Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «&amp;lt;!-- Введите информацию о вашем примере C++, в каждый      раздел после знака равно. Информация ...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- Введите информацию о вашем примере C++, в каждый&lt;br /&gt;
     раздел после знака равно. Информация будет&lt;br /&gt;
     переведена в форматируемый текст при сохранении.&lt;br /&gt;
&lt;br /&gt;
     Не все аргументы должны быть заполнены. Если у вас нет&lt;br /&gt;
     аргумента, оставьте его пустым!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Пример C++&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Название этого примера C++ --&amp;gt;&lt;br /&gt;
|название= Выбор сущности мышкой&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ваше имя --&amp;gt;&lt;br /&gt;
|автор= Alex626\James-Ryan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Дайте краткое описание того, что делает ваш код C++. --&amp;gt;&lt;br /&gt;
|описание= Данный код позволяет получать сущности, находящиеся под курсором мыши. Полезно для разработки системы выбора юнитов в стратегии реального времени. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Введите ваш код C++ сюда! Можно описать ваш код и тут. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Для ввода кода C++ в специальное поле с подсветкой синтаксиса&lt;br /&gt;
     и номером строк, используйте следующий формат:&lt;br /&gt;
&lt;br /&gt;
     {{Код C++ | {аргументы} | [код] }}&lt;br /&gt;
&lt;br /&gt;
     где [код] — актуальный код C++ для отображения,&lt;br /&gt;
     и {аргументы} могут быть одним из следующего:&lt;br /&gt;
&lt;br /&gt;
     заголовок - название блока кода, например, имя файла. &lt;br /&gt;
     line - начальная строка (по умолчанию: 1). &lt;br /&gt;
&lt;br /&gt;
     Пример:&lt;br /&gt;
     {{Код C++ | заголовок=main.cpp | &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
     int main(void)&lt;br /&gt;
     {&lt;br /&gt;
        return 0;&lt;br /&gt;
     }&lt;br /&gt;
     &amp;lt;/source&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|руководство= Эта функция возвращает EntityId текущей сущности под курсором мыши. Чтобы использовать её, сначала нужно отобразить курсор.&lt;br /&gt;
&lt;br /&gt;
{{Код C++ | заголовок=main.cpp | &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
EntityId GetMouseEntityID()&lt;br /&gt;
{&lt;br /&gt;
	static ray_hit hit;&lt;br /&gt;
	float x, y, xMouse, yMouse, zMouse = 0.0f;&lt;br /&gt;
&lt;br /&gt;
	if(!gEnv-&amp;gt;pHardwareMouse || !gEnv-&amp;gt;pRenderer || !gEnv-&amp;gt;p3DEngine || !gEnv-&amp;gt;pSystem &lt;br /&gt;
                                || !gEnv-&amp;gt;pEntitySystem || !g_pGame-&amp;gt;GetIGameFramework())&lt;br /&gt;
		return 0;&lt;br /&gt;
&lt;br /&gt;
	IActor *pClientActor = g_pGame-&amp;gt;GetIGameFramework()-&amp;gt;GetClientActor();&lt;br /&gt;
&lt;br /&gt;
	if (!pClientActor)&lt;br /&gt;
		return 0;&lt;br /&gt;
&lt;br /&gt;
	gEnv-&amp;gt;pHardwareMouse-&amp;gt;GetHardwareMouseClientPosition(&amp;amp;x,&amp;amp;y);&lt;br /&gt;
	y = gEnv-&amp;gt;pRenderer-&amp;gt;GetHeight() - y;&lt;br /&gt;
&lt;br /&gt;
	gEnv-&amp;gt;pRenderer-&amp;gt;UnProjectFromScreen(x, y, 0.0f,&amp;amp;xMouse,&amp;amp;yMouse,&amp;amp;zMouse);&lt;br /&gt;
&lt;br /&gt;
	static const unsigned int flags = rwi_stop_at_pierceable|rwi_colltype_any;&lt;br /&gt;
&lt;br /&gt;
	float  fRange = gEnv-&amp;gt;p3DEngine-&amp;gt;GetMaxViewDistance();&lt;br /&gt;
	Vec3  vCamPos = gEnv-&amp;gt;pSystem-&amp;gt;GetViewCamera().GetPosition();&lt;br /&gt;
	Vec3     vDir = (Vec3(xMouse,yMouse,zMouse) - vCamPos).GetNormalizedSafe();&lt;br /&gt;
&lt;br /&gt;
	IPhysicalEntity *pPhysicalEnt = pClientActor-&amp;gt;GetEntity() ? pClientActor-&amp;gt;GetEntity()-&amp;gt;GetPhysics() : NULL;&lt;br /&gt;
&lt;br /&gt;
	if(!pPhysicalEnt)&lt;br /&gt;
		return 0;&lt;br /&gt;
	&lt;br /&gt;
	if (gEnv-&amp;gt;pPhysicalWorld &amp;amp;&amp;amp; &lt;br /&gt;
         gEnv-&amp;gt;pPhysicalWorld-&amp;gt;RayWorldIntersection(vCamPos, vDir * fRange, ent_all, flags, &amp;amp;hit, 1, pPhysicalEnt))&lt;br /&gt;
	{&lt;br /&gt;
		if (gEnv-&amp;gt;p3DEngine-&amp;gt;RefineRayHit(&amp;amp;hit, vDir * fRange))&lt;br /&gt;
		{	&lt;br /&gt;
			if (IEntity *pEntity = gEnv-&amp;gt;pEntitySystem-&amp;gt;GetEntityFromPhysics(hit.pCollider))&lt;br /&gt;
			{&lt;br /&gt;
				return pEntity-&amp;gt;GetId();&lt;br /&gt;
			}&lt;br /&gt;
		}	&lt;br /&gt;
	}	&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Категория:Шаблоны:Примеры кода]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alex626</name></author>	</entry>

	</feed>