<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>@ghostmex</title><generator>teletype.in</generator><description><![CDATA[Unity разраб, пишу для себя, если интересны заметки - смотрите.]]></description><link>https://teletype.in/@ghostmex?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/ghostmex?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/ghostmex?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Tue, 28 Apr 2026 02:37:12 GMT</pubDate><lastBuildDate>Tue, 28 Apr 2026 02:37:12 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@ghostmex/YLbeqGGzqPg</guid><link>https://teletype.in/@ghostmex/YLbeqGGzqPg?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex</link><comments>https://teletype.in/@ghostmex/YLbeqGGzqPg?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex#comments</comments><dc:creator>ghostmex</dc:creator><title>Unity Addressables</title><pubDate>Thu, 30 Jan 2025 15:57:04 GMT</pubDate><description><![CDATA[Unity Addressables — это система управления загрузкой и адресацией ресурсов в Unity. Она позволяет эффективно управлять асинхронной загрузкой контента, оптимизировать использование памяти, а также легко обновлять и изменять контент без необходимости перекомпилировать проект. Это мощный инструмент для работы с большими проектами, особенно полезный для игр, работающих с большим количеством ресурсов.]]></description><content:encoded><![CDATA[
  <p id="asUE"><strong>Unity Addressables</strong> — это система управления загрузкой и адресацией ресурсов в Unity. Она позволяет эффективно управлять асинхронной загрузкой контента, оптимизировать использование памяти, а также легко обновлять и изменять контент без необходимости перекомпилировать проект. Это мощный инструмент для работы с большими проектами, особенно полезный для игр, работающих с большим количеством ресурсов.</p>
  <h2 id="pfrY"><strong>Как работает Addressables</strong></h2>
  <ol id="s1Ir">
    <li id="eYum"><strong>Метки (Labels):</strong></li>
    <ul id="gCti">
      <li id="sv7g">Ресурсы можно объединять в группы с помощью меток. Это упрощает управление большим количеством объектов.</li>
    </ul>
    <li id="PPy0"><strong>Группы ресурсов (Asset Groups):</strong></li>
    <ul id="yvpP">
      <li id="pBVN">Ресурсы группируются в Asset Groups, которые можно настроить для локального или удаленного хранения.</li>
    </ul>
    <li id="6sTC"><strong>Каталог ресурсов (Addressables Catalog):</strong></li>
    <ul id="rUJV">
      <li id="d12J">Addressables автоматически создает каталог всех ресурсов, который используется для их загрузки.</li>
    </ul>
    <li id="HwEq"><strong>Builds и профили:</strong></li>
    <ul id="mdy5">
      <li id="irYg">Позволяют настроить разные варианты сборки (например, для тестирования или продакшена).</li>
    </ul>
  </ol>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="FEka">Основные методы Unity Addressables</h2>
  </section>
  <p id="spp5">Загружает один ресурс по адресу (например, префаб, текстуру, аудио, текстовый файл). Ресурс <strong>остается</strong> в памяти после загрузки, и его нужно <strong>вручную</strong> освободить с помощью<strong> <code>Addressables.Release()</code></strong>— <code>Addressables.LoadAssetAsync&lt;T&gt;(string address)</code></p>
  <p id="QVmp">Позволяет <strong>создать объект в игре</strong> сразу после его загрузки (например, если у вас есть префаб врага, он будет загружен и появится в сцене). Этот метод загружает объект, создает его копию в сцене и автоматически управляет его памятью (его не нужно освобождать вручную через <code>Addressables.Release()</code>) — <code>Addressables.InstantiateAsync(string address, Vector3 position, Quaternion rotation)</code></p>
  <p id="l9Un">Удаляет загруженный объект из памяти, когда он больше не нужен. Это важно для оптимизации работы игры, особенно на мобильных устройствах. Если объект был создан через <code>InstantiateAsync()</code>, <code>Release()</code> применять не нужно — Addressables управляет этим автоматически — <strong><code>Addressables.Release&lt;T&gt;(T obj)</code></strong></p>
  <p id="2gSC">Позволяет <strong>загрузить несколько ресурсов одновременно</strong>, передав список ключей. Например, можно загрузить сразу несколько врагов или текстур — <strong><code>Addressables.LoadAssetsAsync&lt;T&gt;(IEnumerable&lt;string&gt; keys, Action&lt;T&gt; callback)</code></strong></p>
  <p id="Gf6Q">Позволяет получить список доступных ресурсов по ключу <strong>без их загрузки</strong>. Это полезно, если вам нужно просто проверить, какие ресурсы существуют — <strong><code>Addressables.LoadResourceLocationsAsync(IEnumerable&lt;string&gt; keys, Type type)</code></strong></p>
  <p id="LYZa">Определяет размер загружаемого ресурса (например, если ресурс загружается с сервера). Работает только для ресурсов, которые хранятся удаленно (например, на сервере) — <strong><code>Addressables.GetDownloadSizeAsync(string key)</code></strong></p>
  <p id="juG4">Загружает <strong>все связанные файлы</strong> для указанного ресурса (например, если у префаба есть текстуры и анимации, они тоже загрузятся). — <strong><code>Addressables.DownloadDependenciesAsync(string key)</code></strong></p>
  <p id="TxO6">Удаляет загруженные ресурсы из кэша (чтобы они загрузились заново при следующем вызове) — <strong> <code>Addressables.ClearDependencyCacheAsync(string key)</code></strong></p>
  <p id="DWsg">Проверяет, есть ли обновления для загружаемых ресурсов (например, если контент обновился на сервере) — <strong><code>Addressables.CheckForCatalogUpdates()</code></strong></p>
  <p id="MimM">Обновляет указанные каталоги ресурсов, если в них есть изменения — <code>Addressables.UpdateCatalogs(IEnumerable&lt;string&gt; catalogs)</code></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ghostmex/gjNBDWYiTW1</guid><link>https://teletype.in/@ghostmex/gjNBDWYiTW1?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex</link><comments>https://teletype.in/@ghostmex/gjNBDWYiTW1?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex#comments</comments><dc:creator>ghostmex</dc:creator><title>Методы хранения данных в C# (C Sharp) Unity</title><pubDate>Sun, 26 Jan 2025 17:31:32 GMT</pubDate><description><![CDATA[В Unity может понадобиться хранить в памяти данные и информацию.]]></description><content:encoded><![CDATA[
  <p id="8dGN">В Unity может понадобиться хранить в памяти данные и информацию.</p>
  <p id="vuzu">Здесь основная справка.</p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="KFdf">JSON</h2>
  </section>
  <p id="OChM"><strong>JSON</strong> — это текстовый формат, удобный для хранения данных в человекочитаемом виде. Используется для сериализации объектов и их записи/чтения из файлов.</p>
  <h3 id="BNo4"><strong>Применение</strong>:</h3>
  <ul id="dxP3">
    <li id="dYAZ">Хранение конфигураций и настроек.</li>
    <li id="LB41">Сохранение игрового прогресса.</li>
    <li id="CHCI">Передача данных между системой или серверами.</li>
  </ul>
  <h3 id="6IQw"><strong>Преимущества</strong>:</h3>
  <ul id="FZ9N">
    <li id="Vgc8">Легко читается и редактируется.</li>
    <li id="bGUU">Подходит для переноса между системами.</li>
    <li id="c0u9">Гибкость при работе с произвольными структурами данных.</li>
  </ul>
  <p id="ULXU">JSON находиться в пространстве имен <code>JsonUtility</code></p>
  <p id="yxm4"><strong>ToJson()</strong> — Преобразует объект в JSON-строку.</p>
  <p id="NjRz"><strong>FromJson()</strong> — Преобразует JSON-строку обратно в объект.</p>
  <p id="bL5Z"><strong>FromJsonOverwrite()</strong> — Перезаписывает существующий объект данными из JSON-строки.</p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="zRTv">ScriptableObject</h2>
  </section>
  <p id="mN9Z"><strong>ScriptableObjects</strong> представляют собой типы объектов, которые можно настраивать в Unity Editor и использовать во время выполнения. Объектные данные, которые могут храниться в проекте как отдельные ресурсы. Они предназначены для хранения статических или настроечных данных.</p>
  <p id="AqT3">Но данные в ScriptableObject <strong>не сохраняются между сеансами игры</strong>. Для сохранения на диск их можно сериализовать (например, через JSON).</p>
  <h3 id="WRMP"><strong>Применение</strong>:</h3>
  <ul id="saCE">
    <li id="2gwo">Настройки игровых объектов.</li>
    <li id="c6Fc">Конфигурации, которые не изменяются во время выполнения игры.</li>
    <li id="A0sR">Общие данные для всех сцен.</li>
  </ul>
  <h3 id="JBHa"><strong>Преимущества</strong>:</h3>
  <ul id="uHkH">
    <li id="dy46">Удобно для создания и управления данными прямо в редакторе.</li>
    <li id="1KhB">Отделение данных от игрового кода.</li>
    <li id="6KW0">Не требует сериализации для использования в игре.</li>
  </ul>
  <p id="5Rp4"><strong>CreateAssetMenu (атрибут) </strong>— Позволяет создать экземпляры ScriptableObject через контекстное меню.</p>
  <p id="LRjt"><strong>.name</strong> — Название объекта (унаследовано от <code>Object</code>).</p>
  <p id="J7k2"><strong>Instantiate()</strong> — Создаёт экземпляр объекта (например, для копирования данных).</p>
  <p id="ZKDD">Что бы создать, нужно наследоваться от <code>ScriptableObject </code> класса</p>
  <p id="9rZ5"><strong>[CreateAssetMenu(fileName = &quot;NewEnemyData&quot;, menuName = &quot;Game Data/Enemy&quot;)] </strong>— настройка вашего ScriptableObject класса</p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="4ehi">PlayerPrefs</h2>
  </section>
  <p id="tIgv"><strong>PlayerPrefs</strong> — встроенный способ хранения небольшого объёма данных в виде пар &quot;ключ-значение&quot;. Используется для хранения настроек пользователя или прогресса.</p>
  <p id="DVMP">Если ключ совпадает с ключом в <strong>PlayerPrefs </strong>другого скрипта, они будут связаны и одинаковыми. </p>
  <h3 id="Oq6R"><strong>Применение</strong>:</h3>
  <ul id="eB0J">
    <li id="B8Xn">Настройки звука, графики, управления.</li>
    <li id="mEqb">Простой прогресс игрока (например, текущий уровень).</li>
  </ul>
  <h3 id="SgIe"><strong>Преимущества</strong>:</h3>
  <ul id="XUmQ">
    <li id="JOs8">Простота использования.</li>
    <li id="rWwQ">Работает на всех платформах.</li>
  </ul>
  <p id="b52p">Что бы использовать, нужно наследоваться от MonoBehaviour и использовать класс <code>PlayerPrefs.</code> , который доступен из MonoBehaviour.</p>
  <h3 id="B1Jt"><strong>Ограничения</strong>:</h3>
  <ul id="cHXH">
    <li id="IxpT">Хранение только базовых типов (<code>string</code>, <code>int</code>, <code>float</code>).</li>
    <li id="VJhM">Ненадёжно для больших объёмов данных (могут быть утеряны при сбое).</li>
  </ul>
  <p id="KKC3"><strong>PlayerPrefs.SetString(Ключь, значение) </strong>— Сохраняет строку под указанным ключом.</p>
  <p id="swVS"><strong>PlayerPrefs.SetInt(Ключ, значение)</strong> — Сохраняет целое число под указанным ключом.</p>
  <p id="4Usy"><strong>PlayerPrefs.SetFloat(Ключ, значение)</strong> — Сохраняет дробное число под указанным ключом.</p>
  <p id="ixd4"><strong>PlayerPrefs.GetString(Ключ)</strong> — Получает строку по ключу (если ключ не найден, возвращает <code>&quot;&quot;</code>).</p>
  <p id="UBeR"><strong>PlayerPrefs.GetInt(Ключ)</strong> — Получает целое число по ключу (если ключ не найден, возвращает <code>0</code>).</p>
  <p id="sQPz"><strong>PlayerPrefs.GetFloat(Ключ)</strong> — Получает дробное число по ключу (если ключ не найден, возвращает <code>0.0f</code>).</p>
  <p id="2Jgc"><strong>PlayerPrefs.HasKey(Ключ)</strong> — Проверяет, существует ли ключ в сохранённых данных.</p>
  <p id="wNxt"><strong>PlayerPrefs.DeleteKey(Ключ)</strong> — Удаляет значение, связанное с указанным ключом.</p>
  <p id="jO4L"><strong>PlayerPrefs.DeleteAll()</strong> — Удаляет все сохранённые данные.</p>
  <p id="MT01"><strong>PlayerPrefs.Save() </strong>— Принудительно сохраняет изменения на диск.</p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="B4D3">Файлы (Binary/Custom)</h2>
  </section>
  <p id="tK7I">Если нужно хранить сложные структуры данных или большие объёмы, можно использовать бинарные файлы или собственные форматы.</p>
  <p id="xche">Файловый ввод/вывод в Unity базируется на стандартной .NET-библиотеке (<code>System.IO</code>).</p>
  <p id="uESk"><strong>File.WriteAllText()</strong> — Записывает текст в файл.</p>
  <p id="80PI"><strong>File.ReadAllText()</strong> — Читает весь текст из файла.</p>
  <p id="s6Ro"><strong>File.WriteAllBytes()</strong> — Записывает данные в бинарном формате.</p>
  <p id="1cno"><strong>File.ReadAllBytes()</strong> — Читает бинарные данные.</p>
  <p id="KPTs"><strong>File.Exists()</strong> — Проверяет наличие файла.</p>
  <p id="DDnk"><strong>Directory.CreateDirectory()</strong> — Создаёт директорию.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ghostmex/q5xSx_aUZ8L</guid><link>https://teletype.in/@ghostmex/q5xSx_aUZ8L?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex</link><comments>https://teletype.in/@ghostmex/q5xSx_aUZ8L?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex#comments</comments><dc:creator>ghostmex</dc:creator><title>LINQ C#</title><pubDate>Sun, 26 Jan 2025 16:44:19 GMT</pubDate><description><![CDATA[LINQ (Language-Integrated Query) — это мощный инструмент в C#, который позволяет работать с данными (коллекциями, базами данных, XML, и даже строками) через декларативные запросы, интегрированные в язык программирования. Основная цель LINQ — упростить обработку данных и сделать её более читабельной и выразительной.]]></description><content:encoded><![CDATA[
  <p id="O9SO"><strong>LINQ (Language-Integrated Query)</strong> — это мощный инструмент в C#, который позволяет работать с данными (коллекциями, базами данных, XML, и даже строками) через декларативные запросы, интегрированные в язык программирования. Основная цель LINQ — упростить обработку данных и сделать её более читабельной и выразительной.</p>
  <p id="hVRz">LINQ использует <strong>методы расширения</strong> и <strong>делегаты</strong> для обработки коллекций и других источников данных. Эти методы применяются к интерфейсам или объектам, например <code>IEnumerable&lt;T&gt;</code> или <code>IQueryable&lt;T&gt;</code>.</p>
  <p id="0K4o">Что бы использовать LINQ в C#: <code>using System.Collections.Generic;</code> и <code>using System.Linq;</code></p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="Yc0G">Методы LINQ</h2>
  </section>
  <p id="rght"><strong>Where</strong> — Фильтрует данные — <em><code>numbers.Where(n =&gt; n &gt; 5)</code></em></p>
  <p id="juAK"><strong>Select</strong> — Преобразует элементы коллекции — <em><code>names.Select(n =&gt; n.ToUpper())</code></em></p>
  <p id="KNO5"><strong>OrderBy</strong> — Сортировка по возрастанию — <em><code>numbers.OrderBy(n =&gt; n)</code></em></p>
  <p id="Dshc"><strong>OrderByDescending</strong> — Сортировка по убыванию — <em><code>numbers.OrderByDescending(n =&gt; n)</code></em></p>
  <p id="VN8H"><strong>GroupBy</strong> — Группирует элементы — <em><code>employees.GroupBy(e =&gt; e.Department)</code></em></p>
  <p id="ezpI"><strong>Join </strong>— Соединяет две коллекции по ключу — <em><code>orders.Join(customers, o =&gt; o.CustomerId, c =&gt; c.Id, (o, c) =&gt; new { o, c })</code></em></p>
  <p id="aWE6"><strong>Take / Skip</strong> — Возвращает/пропускает определённое количество элементов — <em><code>numbers.Take(5)</code> или <code>numbers.Skip(5)</code></em></p>
  <p id="IEuF"><strong>First / Last</strong> — Возвращает первый/последний элемент — <code>numbers.First()</code> или <code>numbers.Last()</code></p>
  <p id="9vr5"><strong>Aggregate</strong> — Агрегирует данные в одно значение — <code>numbers.Aggregate((a, b) =&gt; a + b)</code></p>
  <p id="hsLk"><strong>Distinct</strong> — Убирает дубликаты — <code>numbers.Distinct()</code></p>
  <p id="PNi4"><strong>Any / All</strong> — Проверяет, есть ли хотя бы один/все элементы, удовлетворяющие условию — <code>numbers.Any(n =&gt; n &gt; 5)</code> или <code>numbers.All(n =&gt; n &gt; 5)</code></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ghostmex/v1O1XPR3Imd</guid><link>https://teletype.in/@ghostmex/v1O1XPR3Imd?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex</link><comments>https://teletype.in/@ghostmex/v1O1XPR3Imd?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex#comments</comments><dc:creator>ghostmex</dc:creator><title>Английский ПЛАН</title><pubDate>Sat, 16 Mar 2024 14:03:18 GMT</pubDate><description><![CDATA[A1]]></description><content:encoded><![CDATA[
  <p id="3w6V"><strong>A1</strong></p>
  <p id="wng1"></p>
  <p id="Qa5S">Глагол to be            <br />Артикли а/ап, the<br />There is/are<br />Порядок слов<br />Вопросы с what, who, where, when, why,<br />how, how much (тапу)<br />Единственное и множественное число<br />существительных (-s, -es)<br />Модальный глагол can/can&#x27;t<br />Личные местоимения 1, we, уou, they, he, she, it<br />Неопределенные местоимения some/any<br />Указательные местоимения<br />this/that/these/those<br />Притяжательные местоимения ту, our, your,<br />his, her, its<br />Наречия частотности always, often, never<br />Present Simple, Past Simple, Future Simpte,<br />Present Continuous (для описания действий,<br />которые происходят сейчас)</p>
  <p id="KyrL"></p>
  <p id="1puE"></p>
  <p id="bMfv"><strong>A2</strong></p>
  <p id="rlAo"></p>
  <p id="BBru">Притяжательные местоимения mine, yours,<br />ours, theirs, his, hers, its<br />Предлоги времени in, оп, at<br />Модальный глагол could/coutdn&#x27;t<br />Сравнительная и превосходная степень<br />прилагательных<br />Исчисляемые и неисчисляемые<br />существительные (some, апу, тапу, much, а lot)<br />Конструкция to be going to<br />Конструкция would like<br />Наречия с -ly, -ily<br />Условные предложения нулевого типа<br />Present Perfect</p>
  <p id="Kcm1"></p>
  <p id="aOK5"><strong>B1</strong></p>
  <p id="FeYG"></p>
  <p id="N2rR">Глаголы состояния<br />Определительные придаточные предложения<br />с that, who, which, where<br />Герундий<br />Модальные глаголы have to, don&#x27;t have to, must,<br />mustn&#x27;t, should, shouldn&#x27;t, тау, might, might not<br />Условные предложения первого, второго<br />и третьего типа<br />Пассивный залог<br />Конструкция used to / didn&#x27;t used to<br />Косвенная речь, разница между say и tell<br />Квантификаторы too much, too тапу, enough<br />Фразовые глаголы<br />Обороты с наречиями so, neither, nor<br />Союзы because, so, but, although<br />Разделительные вопросы<br />Past Continuous, Present Perfect Continuous</p>
  <p id="vENW"></p>
  <p id="LzCr"><strong>B2</strong></p>
  <p id="Jqrg"></p>
  <p id="xDR3">Нулевой артикль</p>
  <p id="vA6n"><br />Модальные глаголы для выражения<br />предположений carft, might, must</p>
  <p id="YfP8"><br />Указатели множества а little/little,<br />а few/few, plenty of/a lot of, аи, every,<br />both, по, попе, every, most</p>
  <p id="zSRX"><br />Косвенные вопросы</p>
  <p id="RZ8Q"><br />Глаголы для передачи косвенной речи</p>
  <p id="wtph"><br />Собирательные существительные</p>
  <p id="lcxd"><br />Придаточные предложения цели<br />и противопоставления</p>
  <p id="yruq"><br />Придаточные предложения будущего времени<br />Конструкции с wish, lf only</p>
  <p id="aVif"><br />Глаголы, обозначающие чувства восприятия</p>
  <p id="FHK5"><br />Герундий и инфинитив — разница употребления</p>
  <p id="Bbli"><br />Эмфатические конструкции (выделяют слово<br />или фразу в предложении)</p>
  <p id="KWIU"><br />Past Perfect Continuous, Future Continuous,<br />Future Perfect</p>
  <p id="WZtD"></p>
  <p id="hcYd"><strong>C1</strong></p>
  <p id="xNvO"></p>
  <p id="DEU4">Модальные глаголы в прошедшем времени<br />Смешанный тип условных предложений<br />Инверсия<br />Побудительные обороты с get и have<br />(каузатив)<br />Пунктуация<br />Расщепленные предложения<br />Future Perfect Continuous<br />Future in the Past</p>
  <p id="ilj7"></p>
  <p id="W7aV"><strong>C2</strong></p>
  <p id="VKQg"></p>
  <p id="4piR">Продвинутые модальные глаголы и их использование (способность, разрешение, предложения, обязан</p>
  <p id="5H4E">Сложноподчиненные предложения с различными видами придаточных: причины, времени, условия, цели, следствия, уступки</p>
  <p id="W4bC">Продвинутое использование герундия и инфинитива, включая сложные структуры с предлогами и посл</p>
  <p id="2iqF">Абстрактные существительные, формирование и использование в сложных текстах</p>
  <p id="bqo0">Многоаспектные времена: прошедшее время в прошлом, будущее время в прошлом, смешанное использование времен для выражения нюансов</p>
  <p id="tqHO">Прямая и косвенная речь в сложных структурах, включая перефразирование и изменение времен</p>
  <p id="rOBl">Академический и профессиональный сленг, специализированная лексика по отраслям</p>
  <p id="LEyw">Сложные фразовые глаголы и идиоматические выражения, расширение словарного запаса до уровня</p>
  <p id="pfC2">Критическое использование сравнительных и превосходных степеней прилагательных и наречий в сложных сравнениях и описаниях</p>
  <p id="OgPH">Разнообразие текстовых конструкций для изложения мнений, аргументации, оценок</p>
  <p id="5ssq">Продвинутые упражнения на понимание прочитанного и аудирование, включая анализ текста, выявление предполагаемых значений и критическое мышление</p>
  <p id="Fl8Y">Развитие навыков академического письма, включая составление эссе, отчетов, критических обзоров и исследовательских работ</p>
  <p id="Zay1">Продвинутые стратегии обучения и использования языка, включая самостоятельное расширение словарного запаса, критический анализ языковых структур и применение языка в новых контекстах.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ghostmex/2_v2VQUx1FP</guid><link>https://teletype.in/@ghostmex/2_v2VQUx1FP?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex</link><comments>https://teletype.in/@ghostmex/2_v2VQUx1FP?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ghostmex#comments</comments><dc:creator>ghostmex</dc:creator><title>C# для Unity жестко</title><pubDate>Mon, 12 Feb 2024 12:39:47 GMT</pubDate><description><![CDATA[Unity использует язык программирования C# для написания скриптов и логики игр. Ниже приведен обзор основных функций, классов и библиотек C#, которые широко используются в Unity:]]></description><content:encoded><![CDATA[
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="WkXN">Функций</h3>
  </section>
  <p id="iTvP"></p>
  <p id="LSwJ">Unity использует язык программирования C# для написания скриптов и логики игр. Ниже приведен обзор основных функций, классов и библиотек C#, которые широко используются в Unity:</p>
  <p id="YGD0"><strong>Методы жизненного цикла объектов:</strong></p>
  <ol id="Od4T">
    <ul id="Mkvm">
      <li id="wgiv"><code>Awake()</code>: Вызывается при создании объекта.</li>
      <li id="u9HT"><code>Start()</code>: Вызывается перед первым обновлением кадра после Update.</li>
      <li id="1nu5"><code>Update()</code>: Вызывается каждый кадр.</li>
      <li id="L1tF"><code>FixedUpdate()</code>: Вызывается на каждом фиксированном кадре каждые 0.02 секунды (Можно настроить в Project Setting в Time).</li>
      <li id="X7Y1"><code>LateUpdate()</code>: Вызывается после обновления всех кадров.</li>
      <li id="70C0"><code>OnEnable() : </code>вызывается при включений объекта со скриптом на сцене.</li>
      <li id="nBzq"><code>OnDisable() : </code>вызывается при выключений объекта со скриптом  на сцене.</li>
      <li id="okv4"><code>OnDestroy() </code>: Происходит при удалений объекта со скриптом со сцены</li>
    </ul>
  </ol>
  <p id="vqNB"><strong>Ввод и управление:</strong></p>
  <ol id="85Db">
    <ul id="0aZN">
      <li id="ZIQy"><code>Input.GetKey(KeyCode key)</code>: Проверяет, была ли клавиша нажата.</li>
      <li id="JXZe"><code>Input.GetMouseButton(int button)</code>: Проверяет, была ли нажата кнопка мыши.</li>
      <li id="qsqq"><code>Input.GetAxis(string axisName)</code>: Возвращает значение оси (например, горизонтальной оси для клавиатуры или геймпада).</li>
    </ul>
  </ol>
  <p id="ouUp"><strong>Объекты и компоненты:</strong></p>
  <ol id="55YB">
    <ul id="Q1Iv">
      <li id="C6Nz"><code>GameObject</code>: Основной класс для создания игровых объектов.</li>
      <li id="RyzT"><code>Transform</code>: Класс для работы с позицией, вращением и масштабированием объектов.</li>
      <li id="uLKM"><code>Rigidbody</code>: Компонент для работы с физикой объекта.</li>
      <li id="5xqC"><code>Collider</code>: Компонент, который обеспечивает взаимодействие объектов с физикой.</li>
    </ul>
  </ol>
  <p id="rdjE"><strong>Графика и анимация:</strong></p>
  <ol id="Nzjd">
    <ul id="cpvN">
      <li id="eOqN"><code>Renderer</code>: Компонент для отображения графики объекта.</li>
      <li id="F55H"><code>Material</code>: Класс для работы с материалами объектов.</li>
      <li id="w240"><code>Animator</code>: Компонент для создания анимации.</li>
    </ul>
  </ol>
  <p id="OD2D"><strong>Корутины:</strong></p>
  <ol id="R9qf">
    <ul id="2nBS">
      <li id="5b6L"><code>StartCoroutine(IEnumerator routine)</code>: Запускает корутину.</li>
    </ul>
  </ol>
  <p id="KFXx"><strong>Сцены и управление переходами:</strong></p>
  <ol id="cohw">
    <ul id="hhF6">
      <li id="Gk8T"><code>SceneManager.LoadScene(string sceneName)</code>: Загружает сцену по имени.</li>
      <li id="nz8u"><code>SceneManager.LoadScene(int sceneBuildIndex)</code>: Загружает сцену по индексу в сборке.</li>
    </ul>
  </ol>
  <p id="q3Y0"><strong>Звук:</strong></p>
  <ol id="7IWb">
    <ul id="As2E">
      <li id="Uz6q"><code>AudioSource</code>: Компонент для воспроизведения звуков.</li>
      <li id="1Uv5"><code>AudioClip</code>: Класс для представления звуковых файлов.</li>
    </ul>
  </ol>
  <p id="1co0"><strong>Коррутинные методы:</strong></p>
  <ol id="BN0t">
    <ul id="As3h">
      <li id="36eR"><code>yield return null</code>: Приостанавливает выполнение корутины до следующего кадра.</li>
    </ul>
  </ol>
  <p id="35Am"><strong>Коллайдеры и обнаружение столкновений:</strong></p>
  <ol id="F5ZM">
    <ul id="8QQ9">
      <li id="QlBU"><code>OnCollisionEnter(Collision collision)</code>: Вызывается, когда объект сталкивается с другим объектом.</li>
      <li id="gQAi"><code>OnTriggerEnter(Collider other)</code>: Вызывается, когда объект входит в триггер.</li>
    </ul>
  </ol>
  <ul id="FhbY">
    <ul id="v5nM">
      <li id="sxyO"><strong><code>OnCollisionExit(Collision collision)</code></strong>: Вызывается, когда объект прекращает соприкосновение с другим объектом.</li>
      <li id="psbq"><strong><code>OnTriggerExit(Collider other)</code></strong>: Вызывается, когда объект покидает триггерный коллайдер.</li>
      <li id="8wyJ"><strong>Physics.Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance)</strong>: Отправляет луч из начальной точки в указанном направлении и возвращает информацию о столкновении.</li>
      <li id="EpRP"><strong>Rigidbody.AddForce(Vector3 force)</strong>: Применяет силу к Rigidbody.</li>
    </ul>
  </ul>
  <p id="EABC"><strong>GUI и интерфейс:</strong></p>
  <ol id="8DMJ">
    <ul id="AUtB">
      <li id="eHyG"><code>OnGUI()</code>: Вызывается для отрисовки элементов интерфейса.</li>
    </ul>
  </ol>
  <p id="vi9X"><strong>Система частиц:</strong></p>
  <ol id="gR3X">
    <ul id="EzaA">
      <li id="kLuj"><code>ParticleSystem</code>: Компонент для создания и управления эффектами частиц.</li>
    </ul>
  </ol>
  <p id="xE87"><strong>Корректные сериализованные поля:</strong></p>
  <ol id="odvC">
    <ul id="rA0g">
      <li id="ZZzU"><code>[SerializeField]</code>: Атрибут для сериализации закрытых полей в редакторе Unity.</li>
    </ul>
  </ol>
  <p id="ZkSf"><strong>Асинхронное программирование:</strong></p>
  <ol id="WSnc">
    <ul id="JxFg">
      <li id="yIcb"><code>async</code> / <code>await</code>: Для асинхронных операций.</li>
    </ul>
  </ol>
  <p id="ljOD"><strong>Логирование:</strong></p>
  <ol id="9W0E">
    <ul id="QvyU">
      <li id="hW1I"><code>Debug.Log(string message)</code>: Выводит сообщение в консоль разработчика.</li>
      <li id="ZF81"><code>Debug.LogError(string message)</code>: Выводит сообщение об ошибке в консоль.</li>
    </ul>
  </ol>
  <p id="iZOA"><strong>Компоненты управления:</strong></p>
  <ol id="PJTo">
    <ul id="vKCm">
      <li id="YqQo"><code>MonoBehaviour</code>: Основной класс для создания собственных компонентов.</li>
      <li id="Wk8J"><code>Coroutine</code>: Класс для управления корутинами.</li>
    </ul>
  </ol>
  <p id="wSuH"><strong>Ассеты и ресурсы:</strong></p>
  <ol id="56a8">
    <ul id="xAaH">
      <li id="0sSd"><code>Resources.Load(string path)</code>: Загружает ресурс из папки &quot;Resources&quot;.</li>
      <li id="18LH"><code>Instantiate(GameObject original)</code>: Создает копию объекта.</li>
    </ul>
  </ol>
  <p id="N00m"><strong>Приложение и настройки:</strong></p>
  <ol id="Ta5s">
    <ul id="DEN2">
      <li id="I1lk"><code>Application.Quit()</code>: Завершает приложение.</li>
      <li id="juoz"><code>PlayerPrefs</code>: Класс для сохранения данных между сеансами игры.</li>
    </ul>
  </ol>
  <p id="rsyD"><strong>Управление состоянием и данными</strong></p>
  <ul id="dnqH">
    <ul id="vNBL">
      <li id="5XNg"><strong><code>PlayerPrefs.HasKey(string key)</code></strong>: Проверяет, существует ли ключ сохранения.</li>
      <li id="06J5"><strong><code>PlayerPrefs.DeleteKey(string key)</code></strong>: Удаляет определенный ключ сохранения.</li>
      <li id="AmKE"><strong><code>PlayerPrefs.DeleteAll()</code></strong>: Удаляет все ключи и значения из PlayerPrefs.</li>
    </ul>
  </ul>
  <p id="rjN3"><strong>Ассеты и ресурсы</strong></p>
  <ul id="ElWZ">
    <ul id="nbVP">
      <li id="14gP"><strong>AssetBundle</strong>: Для работы с пакетами ресурсов, позволяющими загружать и выгружать коллекции ассетов во время выполнения.</li>
      <li id="DnVY"><strong>Resources.UnloadUnusedAssets()</strong>: Освобождает память от неиспользуемых ресурсов.</li>
    </ul>
  </ul>
  <h3 id="lN0H">Интерфейс пользователя (UI)</h3>
  <ul id="ZNmi">
    <ul id="Pa6g">
      <li id="FB78"><strong>Canvas</strong>: Основной компонент для отрисовки UI.</li>
      <li id="cVSO"><strong>Text</strong>: Отображение текста на экране.</li>
    </ul>
    <ul id="TcQA">
      <li id="7AZb"><strong>Image</strong>: Отображение изображений на экране.</li>
      <li id="s9Pa"><strong>Button</strong>: Обработка нажатий кнопок.</li>
      <li id="v0vd"><strong>EventSystem</strong>: Управление вводом и событиями в пользовательском интерфейсе.</li>
    </ul>
  </ul>
  <h3 id="uDSP">Сетевое взаимодействие</h3>
  <ul id="joYV">
    <ul id="O6Nl">
      <li id="fHF0"><strong>UnityWebRequest</strong>: Для отправки и получения данных по сети.</li>
      <li id="Syn3"><strong>NetworkManager</strong>: Основной компонент для управления сетевой игрой.</li>
      <li id="78kC"><strong>PhotonNetwork</strong>: Используется в системах, таких как Photon Engine для мультиплеерных игр.</li>
    </ul>
  </ul>
  <h3 id="4kiK">Сохранение и загрузка</h3>
  <ul id="RD1o">
    <ul id="dU3O">
      <li id="B9ts"><strong>System.IO</strong>: Работа с файлами для сохранения и загрузки игровых данных.</li>
      <li id="jMGt"><strong>JsonUtility</strong>: Для сериализации и десериализации данных в формате JSON.</li>
    </ul>
  </ul>
  <h3 id="LnFq">Работа со временем</h3>
  <ul id="Ltuc">
    <ul id="zrb5">
      <li id="I9aL"><strong>Time.deltaTime</strong>: Время в секундах, прошедшее с последнего кадра.</li>
      <li id="tLaX"><strong>Time.time</strong>: Время в секундах с начала игры.</li>
      <li id="epfN"><strong>Time.timeScale</strong>: Масштаб времени, позволяет замедлять или ускорять игру.</li>
    </ul>
  </ul>
  <h3 id="v3IH">События и делегаты</h3>
  <ul id="zt1Z">
    <ul id="AbNU">
      <li id="CTQq"><strong>Action, Func, EventHandler</strong>: Делегаты для создания пользовательских событий.</li>
      <li id="4ZoN"><strong>Event</strong>: Ключевое слово для определения событий в классах.</li>
    </ul>
  </ul>
  <h3 id="6FB8">Анимация</h3>
  <ul id="ffyb">
    <ul id="hh0N">
      <li id="zVHo"><strong>Animation.Play()</strong>: Запускает анимацию.</li>
      <li id="xVbw"><strong>Animator.SetBool()</strong>, <strong>Animator.SetFloat()</strong>, <strong>Animator.SetInteger()</strong>: Управление параметрами аниматора для изменения поведения анимации.</li>
    </ul>
  </ul>
  <h3 id="Vr7I">Камера и отображение</h3>
  <ul id="4pzw">
    <ul id="HQ43">
      <li id="NJ86"><strong>Camera.main</strong>: Получение главной камеры сцены.</li>
      <li id="rHz7"><strong>RenderTexture</strong>: Создание текстур в реальном времени из изображений камеры.</li>
    </ul>
  </ul>
  <h3 id="skRp">Пользовательские атрибуты и рефлексия</h3>
  <ul id="mhTo">
    <ul id="58GU">
      <li id="pgIl"><strong>System.Attribute</strong>: Для создания пользовательских атрибутов.</li>
      <li id="A7WW"><strong>System.Reflection</strong>: Для динамического получения информации о типах и членов классов во время выполнения.</li>
    </ul>
  </ul>
  <h3 id="KzSc">Оптимизация и профилирование</h3>
  <ul id="Ipyh">
    <ul id="JZXH">
      <li id="TvHg"><strong>Profiler.BeginSample()</strong> и <strong>Profiler.EndSample()</strong>: Для измерения производительности участков кода.</li>
      <li id="9eRl"><strong>QualitySettings</strong>: Для изменения настроек качества игры во время выполнения.</li>
    </ul>
  </ul>
  <h3 id="4wnn">Плагины и внешние библиотеки</h3>
  <ul id="1Uiq">
    <ul id="DnAv">
      <li id="ZEOF"><strong>DllImport</strong>: Для вызова функций из собственных библиотек (например, написанных на C или C++).</li>
    </ul>
  </ul>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="jWET">Переменные</h3>
  </section>
  <ol id="Rip5">
    <li id="C1gn"><strong>Основные классы:</strong></li>
    <ul id="yF1y">
      <li id="cSC5"><code>GameObject</code>: Основной класс для всех объектов в сцене.</li>
      <li id="0dyz"><code>Transform</code>: Класс для управления позицией, вращением и масштабом объектов.</li>
      <li id="iztX"><code>MonoBehaviour</code>: Базовый класс для всех пользовательских скриптов, прикрепляемых к GameObjects.</li>
    </ul>
    <li id="6ApL"><strong>Компоненты для рендеринга:</strong></li>
    <ul id="LBtD">
      <li id="qj2i"><code>MeshRenderer</code>: Отображает меш в сцене.</li>
      <li id="YPil"><code>SpriteRenderer</code>: Отображает спрайты.</li>
      <li id="yLkx"><code>Camera</code>: Класс для управления камерами.</li>
      <li id="E0hN"><code>Light</code>: Класс для настройки освещения.</li>
    </ul>
    <li id="MCJg"><strong>Физика и коллизии:</strong></li>
    <ul id="9kHl">
      <li id="QhGz"><code>Rigidbody</code>: Добавляет физическое тело к объекту.</li>
      <li id="0bhG"><code>Collider</code>: Классы, такие как <code>BoxCollider</code>, <code>SphereCollider</code>, <code>MeshCollider</code>, для обработки столкновений.</li>
      <li id="8YbV"><code>Physics</code>: Класс для управления физическими настройками и взаимодействиями.</li>
    </ul>
    <li id="WxR5"><strong>Анимация и анимационные системы:</strong></li>
    <ul id="CCBh">
      <li id="HK1M"><code>Animator</code>: Управляет анимациями на объекте.</li>
      <li id="GgNl"><code>Animation</code>: Класс для управления анимациями.</li>
    </ul>
    <li id="1C4L"><strong>UI (Пользовательский интерфейс):</strong></li>
    <ul id="HCd2">
      <li id="YTRh"><code>Canvas</code>: Класс для управления областью отображения UI.</li>
      <li id="mGFq"><code>Image</code>, <code>Text</code>, <code>Button</code> и другие классы для создания интерфейса пользователя.</li>
    </ul>
    <li id="SjOO"><strong>Аудио:</strong></li>
    <ul id="soUb">
      <li id="La9E"><code>AudioSource</code>: Класс для воспроизведения звуков.</li>
      <li id="ap7K"><code>AudioListener</code>: Класс для приема звуков.</li>
    </ul>
    <li id="WZKh"><strong>Сетевые классы:</strong></li>
    <ul id="K9Bn">
      <li id="3n7z"><code>NetworkManager</code>: Управление сетевыми операциями.</li>
      <li id="uV2g"><code>NetworkBehaviour</code>: Базовый класс для сетевых скриптов.</li>
    </ul>
    <li id="5Neq"><strong>Скриптинг и утилиты:</strong></li>
    <ul id="npcU">
      <li id="PItN"><code>ScriptableObject</code>: Класс для создания настраиваемых данных, не привязанных к сценам.</li>
      <li id="W7gP"><code>PlayerPrefs</code>: Класс для сохранения и загрузки данных игрока.</li>
    </ul>
    <li id="xtTP"><strong>Управление сценами и ресурсами:</strong></li>
    <ul id="Snrz">
      <li id="z0OP"><code>SceneManager</code>: Управление сценами в игре.</li>
      <li id="s2fZ"><code>Resources</code>: Класс для загрузки ресурсов.</li>
    </ul>
    <li id="vEJC"><strong>Ввод данных:</strong></li>
    <ul id="xovJ">
      <li id="cwo6"><code>Input</code>: Класс для обработки ввода пользователя.</li>
    </ul>
  </ol>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="Y6sg">Звук</h2>
  </section>
  <h3 id="1WKt">Класс <code>AudioSource</code></h3>
  <ol id="lMmd">
    <li id="ywMn"><strong>Play()</strong></li>
    <ul id="14PR">
      <li id="ySXk">Запускает воспроизведение звука, прикрепленного к <code>AudioSource</code>.</li>
      <li id="OM5J">Пример: <code>audioSource.Play();</code></li>
    </ul>
    <li id="UewE"><strong>Stop()</strong></li>
    <ul id="XJdt">
      <li id="QckG">Останавливает воспроизведение звука.</li>
      <li id="B97M">Пример: <code>audioSource.Stop();</code></li>
    </ul>
    <li id="SYXr"><strong>Pause()</strong></li>
    <ul id="owmo">
      <li id="zdyS">Приостанавливает воспроизведение звука.</li>
      <li id="KKAd">Пример: <code>audioSource.Pause();</code></li>
    </ul>
    <li id="AKEL"><strong>UnPause()</strong></li>
    <ul id="sPFf">
      <li id="9oT4">Возобновляет воспроизведение звука после паузы.</li>
      <li id="e74G">Пример: <code>audioSource.UnPause();</code></li>
    </ul>
    <li id="lhg3"><strong>PlayOneShot(AudioClip clip, float volumeScale = 1.0F)</strong></li>
    <ul id="zRie">
      <li id="YfCS">Воспроизводит один звуковой клип без влияния на текущий воспроизводимый звук.</li>
      <li id="x0ya">Пример: <code>audioSource.PlayOneShot(soundClip, 1.0f);</code></li>
    </ul>
    <li id="0z6T"><strong>PlayDelayed(float delay)</strong></li>
    <ul id="kiCV">
      <li id="pGTv">Начинает воспроизведение звука после задержки.</li>
      <li id="Mp08">Пример: <code>audioSource.PlayDelayed(2.5f);</code> // Задержка в 2.5 секунды</li>
    </ul>
    <li id="GBz8"><strong>mute</strong></li>
    <ul id="xq7D">
      <li id="v3Gx">Отключает или включает звук <code>AudioSource</code>.</li>
      <li id="6TFO">Пример: <code>audioSource.mute = true;</code></li>
    </ul>
    <li id="inVz"><strong>volume</strong></li>
    <ul id="OuLv">
      <li id="A4Oe">Устанавливает или получает громкость звука.</li>
      <li id="Nof2">Пример: <code>audioSource.volume = 0.5f;</code> // Установка громкости на 50%</li>
    </ul>
    <li id="R7Qb"><strong>pitch</strong></li>
    <ul id="zr0k">
      <li id="tgQC">Устанавливает или получает высоту тона звука.</li>
      <li id="KRoj">Пример: <code>audioSource.pitch = 1.5f;</code> // Увеличение высоты тона</li>
    </ul>
    <li id="uHWf"><strong>loop</strong></li>
    <ul id="dJeK">
      <li id="SBKK">Устанавливает или получает, будет ли звук воспроизводиться циклически.</li>
      <li id="0wek">Пример: <code>audioSource.loop = true;</code></li>
    </ul>
  </ol>
  <h3 id="ZuX5">Класс <code>AudioListener</code></h3>
  <ul id="kwNj">
    <li id="wDoo"><code>AudioListener</code> является компонентом, который &quot;слушает&quot; все звуки, воспроизводимые в сцене. Обычно он прикреплен к камере. Нет специфических функций для управления, но важно убедиться, что в сцене присутствует только один активный <code>AudioListener</code>.</li>
  </ul>
  <h3 id="r2ld">Дополнительные Компоненты и Классы</h3>
  <ul id="5x1z">
    <li id="vvuR"><strong>AudioMixer</strong>: Позволяет более сложное управление звуком, включая группы звуков и переходы.</li>
    <li id="fZvQ"><strong>AudioMixerGroup</strong>: Управляет группами звуков в AudioMixer.</li>
    <li id="gFCW"><strong>AudioClip</strong>: Представляет звуковой клип, который может быть воспроизведен с помощью <code>AudioSource</code>.</li>
  </ul>
  <ol id="Z5LP">
    <li id="yGQc"><strong>isPlaying</strong></li>
    <ul id="8kyg">
      <li id="NXg3">Проверяет, воспроизводится ли в данный момент звук.</li>
      <li id="ujNL">Пример: <code>if (audioSource.isPlaying) { /* код */ }</code></li>
    </ul>
    <li id="iGXb"><strong>GetSpectrumData</strong></li>
    <ul id="Q9Xg">
      <li id="CMak">Получает спектральные данные аудио для визуализации аудио.</li>
      <li id="YyER">Пример: <code>audioSource.GetSpectrumData(samples, 0, FFTWindow.Blackman);</code></li>
    </ul>
    <li id="56Tw"><strong>SetScheduledEndTime</strong></li>
    <ul id="PkJH">
      <li id="IIEF">Запланировать время окончания воспроизведения аудио.</li>
      <li id="qtrm">Пример: <code>audioSource.SetScheduledEndTime(AudioSettings.dspTime + 5.0);</code></li>
    </ul>
    <li id="xwzh"><strong>SetScheduledStartTime</strong></li>
    <ul id="uqC6">
      <li id="IJFF">Запланировать время начала воспроизведения аудио.</li>
      <li id="mzMu">Пример: <code>audioSource.SetScheduledStartTime(AudioSettings.dspTime + 2.0);</code></li>
    </ul>
    <li id="5dGW"><strong>DopplerLevel</strong></li>
    <ul id="QS4D">
      <li id="IcVZ">Устанавливает уровень эффекта Доплера для источника звука.</li>
      <li id="yTzI">Пример: <code>audioSource.dopplerLevel = 2.0f;</code></li>
    </ul>
    <li id="bdWy"><strong>Spread</strong></li>
    <ul id="ijBn">
      <li id="ddRU">Устанавливает стерео-распределение звука в 3D пространстве.</li>
      <li id="RJU1">Пример: <code>audioSource.spread = 180;</code></li>
    </ul>
    <li id="xrlI"><strong>SetCustomCurve</strong></li>
    <ul id="qqbp">
      <li id="sTY1">Устанавливает пользовательскую кривую для определенного параметра аудио.</li>
      <li id="ip0U">Пример: <code>audioSource.SetCustomCurve(AudioSourceCurveType.ReverbZoneMix, customCurve);</code></li>
    </ul>
  </ol>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h2 id="MJ1Y">UI</h2>
  </section>
  <h3 id="gL5b">Переменные:</h3>
  <ol id="ZC7I">
    <li id="XQeB"><strong>Text</strong></li>
    <ul id="uemM">
      <li id="gv3W">Тип: <code>UnityEngine.UI.Text</code></li>
      <li id="ZHLz">Описание: Используется для отображения текста на UI.</li>
    </ul>
    <li id="f4Rs"><strong>Image</strong></li>
    <ul id="TFw2">
      <li id="fZZa">Тип: <code>UnityEngine.UI.Image</code></li>
      <li id="Xhg1">Описание: Для отображения изображений в UI, включая спрайты и текстуры.</li>
    </ul>
    <li id="ycV5"><strong>Button</strong></li>
    <ul id="IHAF">
      <li id="dwsN">Тип: <code>UnityEngine.UI.Button</code></li>
      <li id="hSCL">Описание: Интерактивная кнопка, на которую пользователь может нажимать.</li>
    </ul>
    <li id="AuBI"><strong>Slider</strong></li>
    <ul id="TVDd">
      <li id="nyfE">Тип: <code>UnityEngine.UI.Slider</code></li>
      <li id="G5Vf">Описание: Ползунок для ввода числовых значений или регулировки параметров.</li>
    </ul>
    <li id="aPJ4"><strong>Toggle</strong></li>
    <ul id="sJow">
      <li id="cpEI">Тип: <code>UnityEngine.UI.Toggle</code></li>
      <li id="6JsT">Описание: Переключатель, который может быть включен или выключен.</li>
    </ul>
    <li id="AI6T"><strong>Dropdown</strong></li>
    <ul id="mt93">
      <li id="Cq7E">Тип: <code>UnityEngine.UI.Dropdown</code></li>
      <li id="kKtp">Описание: Выпадающий список для выбора одного из множества вариантов.</li>
    </ul>
    <li id="FhTq"><strong>InputField</strong></li>
    <ul id="48d9">
      <li id="CZ7U">Тип: <code>UnityEngine.UI.InputField</code></li>
      <li id="mNRB">Описание: Поле для ввода текста пользователем.</li>
    </ul>
    <li id="JCtc"><strong>ScrollRect</strong></li>
    <ul id="xT5t">
      <li id="oXUu">Тип: <code>UnityEngine.UI.ScrollRect</code></li>
      <li id="jskw">Описание: Компонент для создания прокручиваемой области.</li>
    </ul>
    <li id="BaUw"><strong>Canvas</strong></li>
    <ul id="Jm8k">
      <li id="bHOi">Тип: <code>UnityEngine.Canvas</code></li>
      <li id="xIf8">Описание: Основной компонент для всех элементов UI, определяет область, в которой элементы UI будут отображаться.</li>
    </ul>
    <li id="MclA"><strong>CanvasGroup</strong></li>
    <ul id="uaBY">
      <li id="tlzT">Тип: <code>UnityEngine.CanvasGroup</code></li>
      <li id="lhIn">Описание: Позволяет управлять группой элементов UI, включая их прозрачность и интерактивность.</li>
    </ul>
    <li id="a6j6"><strong>RectTransform</strong></li>
    <ul id="XCc5">
      <li id="ObnK">Тип: <code>UnityEngine.RectTransform</code></li>
      <li id="BAcI">Описание: Расширение трансформации, используемое для позиционирования и масштабирования UI элементов.</li>
    </ul>
    <li id="W0nO"><strong>GraphicRaycaster</strong></li>
    <ul id="Rqgh">
      <li id="H4N8">Тип: <code>UnityEngine.UI.GraphicRaycaster</code></li>
      <li id="itjA">Описание: Используется для определения, какие UI элементы находятся под курсором мыши или точкой касания.</li>
    </ul>
    <li id="dclU"><strong>LayoutGroup</strong></li>
    <ul id="ezoi">
      <li id="FoLK">Типы: <code>UnityEngine.UI.HorizontalLayoutGroup</code>, <code>UnityEngine.UI.VerticalLayoutGroup</code>, <code>UnityEngine.UI.GridLayoutGroup</code></li>
      <li id="TYnL">Описание: Классы для управления расположением дочерних элементов UI в горизонтальном, вертикальном порядке или сетке.</li>
    </ul>
    <li id="LZGK"><strong>ContentSizeFitter</strong></li>
    <ul id="sKEc">
      <li id="x3GN">Тип: <code>UnityEngine.UI.ContentSizeFitter</code></li>
      <li id="Cj4u">Описание: Автоматически изменяет размер контейнера, чтобы соответствовать размеру его содержимого.</li>
    </ul>
  </ol>
  <h3 id="Iu8u">Методы и функций:</h3>
  <h3 id="uJYK">1. Text</h3>
  <ul id="QXab">
    <li id="tn62"><strong>text</strong>: Устанавливает или получает текстовое содержимое.</li>
    <ul id="POGt">
      <li id="JwZV">Пример: <code>myText.text = &quot;Новый текст&quot;;</code></li>
    </ul>
  </ul>
  <h3 id="DHh3">2. Image</h3>
  <ul id="ftDI">
    <li id="mthF"><strong>sprite</strong>: Устанавливает или получает спрайт изображения.</li>
    <ul id="CR61">
      <li id="E4EU">Пример: <code>myImage.sprite = новыйСпрайт;</code></li>
    </ul>
    <li id="W6z5"><strong>color</strong>: Изменяет цвет изображения.</li>
    <ul id="qNe3">
      <li id="XsAq">Пример: <code>myImage.color = Color.red;</code></li>
    </ul>
  </ul>
  <h3 id="yupN">3. Button</h3>
  <ul id="90cL">
    <li id="w5ww"><strong>onClick.AddListener()</strong>: Добавляет метод, который будет вызываться при нажатии на кнопку.</li>
    <ul id="aGmQ">
      <li id="VNoV">Пример: <code>myButton.onClick.AddListener(МетодДляВызова);</code></li>
    </ul>
  </ul>
  <h3 id="NPMw">4. Slider</h3>
  <ul id="kkBT">
    <li id="cinF"><strong>value</strong>: Устанавливает или получает текущее значение слайдера.</li>
    <ul id="4LcC">
      <li id="6ccD">Пример: <code>mySlider.value = 0.5f;</code></li>
    </ul>
    <li id="LBsN"><strong>onValueChanged.AddListener()</strong>: Добавляет метод, который будет вызываться при изменении значения слайдера.</li>
    <ul id="eE1h">
      <li id="5iQB">Пример: <code>mySlider.onValueChanged.AddListener(МетодДляВызова);</code></li>
    </ul>
  </ul>
  <h3 id="4CBi">5. Toggle</h3>
  <ul id="gAuw">
    <li id="14BX"><strong>isOn</strong>: Устанавливает или проверяет, включен ли переключатель.</li>
    <ul id="6fwO">
      <li id="gEjg">Пример: <code>myToggle.isOn = true;</code></li>
    </ul>
    <li id="EMpX"><strong>onValueChanged.AddListener()</strong>: Добавляет метод, который будет вызываться при изменении состояния переключателя.</li>
    <ul id="eVSj">
      <li id="v6Pv">Пример: <code>myToggle.onValueChanged.AddListener(МетодДляВызова);</code></li>
    </ul>
  </ul>
  <h3 id="jU8b">6. Dropdown</h3>
  <ul id="35on">
    <li id="elUh"><strong>value</strong>: Устанавливает или получает выбранный индекс.</li>
    <ul id="NoBi">
      <li id="DhOi">Пример: <code>myDropdown.value = 2;</code></li>
    </ul>
    <li id="siIT"><strong>onValueChanged.AddListener()</strong>: Добавляет метод, который будет вызываться при выборе нового элемента.</li>
    <ul id="BKdi">
      <li id="lJVV">Пример: <code>myDropdown.onValueChanged.AddListener(МетодДляВызова);</code></li>
    </ul>
  </ul>
  <h3 id="AGcC">7. InputField</h3>
  <ul id="nD8U">
    <li id="eZOv"><strong>text</strong>: Устанавливает или получает текст в поле ввода.</li>
    <ul id="VxI2">
      <li id="ZOKu">Пример: <code>myInputField.text = &quot;Пример текста&quot;;</code></li>
    </ul>
    <li id="q6NO"><strong>onValueChanged.AddListener()</strong>: Добавляет метод, который будет вызываться при изменении текста.</li>
    <ul id="nuOj">
      <li id="Oaf0">Пример: <code>myInputField.onValueChanged.AddListener(МетодДляВызова);</code></li>
    </ul>
    <li id="fbPZ"><strong>onEndEdit.AddListener()</strong>: Добавляет метод, который будет вызываться при завершении редактирования текста.</li>
    <ul id="jADs">
      <li id="sIgY">Пример: <code>myInputField.onEndEdit.AddListener(МетодДляВызова);</code></li>
    </ul>
  </ul>
  <h3 id="zICN">8. ScrollRect</h3>
  <ul id="xQrQ">
    <li id="fq45"><strong>verticalNormalizedPosition</strong>: Устанавливает или получает вертикальное положение прокрутки.</li>
    <ul id="B7Ao">
      <li id="NuR7">Пример: <code>myScrollRect.verticalNormalizedPosition = 0.5f;</code></li>
    </ul>
    <li id="puDQ"><strong>horizontalNormalizedPosition</strong>: Устанавливает или получает горизонтальное положение прокрутки.</li>
    <ul id="6vs1">
      <li id="oSsM">Пример: <code>myScrollRect.horizontalNormalizedPosition = 0.5f;</code></li>
    </ul>
  </ul>
  <h3 id="G3dg">9. CanvasGroup</h3>
  <ul id="GWn2">
    <li id="EsqB"><strong>alpha</strong>: Устанавливает прозрачность группы элементов UI.</li>
    <ul id="mpYn">
      <li id="71Lb">Пример: <code>myCanvasGroup.alpha = 0.5f;</code></li>
    </ul>
    <li id="TiEA"><strong>interactable</strong>: Включает или отключает взаимодействие с элементами группы.</li>
    <ul id="UWv9">
      <li id="1W6d">Пример: <code>myCanvasGroup.interactable = false;</code></li>
    </ul>
    <li id="XDof"><strong>blocksRaycasts</strong>: Определяет, будут ли элементы группы блокировать лучи (например, для кликов мыши).</li>
    <ul id="AEBR">
      <li id="obHc">Пример: <code>myCanvasGroup.blocksRaycasts = false;</code></li>
    </ul>
  </ul>
  <h2 id="eKNI">foreach -</h2>
  <p id="eVXA"> - это конструкция в языках программирования, которая используется для итерации (перебора) элементов в коллекции, такой как массив, список или другой контейнер. Это позволяет перебирать элементы коллекции без явного использования индексов.</p>
  <p id="iGJ2">Пример:</p>
  <p id="QBUS">int[] numbers = { 1, 2, 3, 4, 5 }; </p>
  <p id="VtPz">foreach (int number (Например 3) in numbers) </p>
  <p id="Rhm2">{ </p>
  <p id="y7hr">Console.WriteLine(number);  //Выведет 3</p>
  <p id="Hel4">}</p>
  <h2 id="S1QD"><strong>Rect -</strong></h2>
  <ul id="ySn3">
    <li id="aDsb">- это структура (тип данных) во многих графических библиотеках и фреймворках, включая Unity. Она используется для представления прямоугольных областей (прямоугольников) в двумерных или трехмерных графических приложениях.</li>
    <li id="pxCv">В Unity, <code>Rect</code> часто используется для задания координат и размеров интерфейсных элементов, текстур, окон и других графических объектов. Или выделителей областей.</li>
  </ul>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="cTrO"><strong>Все методы</strong></h3>
  </section>
  <ol id="AAu3">
    <li id="5qNo">Start() - при старте игры</li>
    <li id="yH0c">Update() - каждый кадр</li>
    <li id="nFp2">FixedUpdate() - Каждый фиксированный кадр</li>
    <li id="t2XG">LateUpdate() - Вызывается сразу после Update</li>
    <li id="qtul">Awake() - Вызывается до Update</li>
    <li id="Yjcq">OnEnable() - Вызывается, когда объект активируется на сцене</li>
    <li id="RwXh">OnDisable() - Вызывается, когда объект деактивируется на сцене</li>
    <li id="Qa1I">OnDestroy() - Когда объект уничтожается/удаляется</li>
    <li id="L4B3">OnTriggerEnter() - Вызывается, когда другой коллайдер входит в триггер</li>
    <li id="5YXF">OnTriggerExit() - Вызывается, когда другой коллайдер выходит из триггера</li>
    <li id="OcAL">OnCollisionEnter() - Вызывается, когда другой коллайдер сталкивается с коллайдером</li>
    <li id="RFdD">OnCollisionExit() - Вызывается, когда другой коллайдер перестает сталкиваться с коллайдером</li>
    <li id="FXDa">OnTriggerEnter2D()</li>
    <li id="Yc1X">OnTriggerExit2D()</li>
    <li id="V4pD">OnCollisionEnter2D()</li>
    <li id="AxiV">OnCollisionExit2D()</li>
    <li id="vCvl">OnGUI() - Нужен для изменения интерфейса в игре</li>
    <li id="rpRd">OnMouseEnter() - Вызывается, когда указатель мыши входит в область коллайдера объекта</li>
    <li id="Fu9f">OnMouseExit() - Когда выходит</li>
    <li id="ELbY">OnMouseDown() - Вызывается, когда кнопка мыши нажата над объектом.</li>
    <li id="Ia7A">OnMouseUp() - Вызывается, когда кнопка мыши отпущена над объектом.</li>
    <li id="ZSd0">OnMouseDrag() - Вызывается, когда мышь перетаскивает объект с зажатой кнопкой мыши.</li>
    <li id="F6lG">OnApplicationQuit() - Вызывается, когда приложение закрывается.</li>
    <li id="mtlw">OnApplicationPause() - При паузе</li>
    <li id="VFog">OnApplicationFocus() - ХЗ</li>
    <li id="ZpdE">OnDrawGizmos() - Вызывается в редакторе Unity при отрисовке гизмо (помощников отладки) для объекта.</li>
    <li id="ehit">OnValidate() - Вызывается в редакторе Unity, когда значение обновляется в редакторе свойств или компонента.</li>
    <li id="CjmB">OnBecameVisible() - Вызывается, когда объект становится видимым для камеры.</li>
    <li id="KVvI">OnBecameInvisible() - Вызывается, когда объект становится невидимым для камеры.</li>
    <li id="dNqm">OnAnimatorMove() - Вызывается каждый кадр, чтобы сообщить компоненту, что аниматор обновил позицию объекта.</li>
    <li id="ivTI">OnJointBreak(float <strong><code>breakForce</code></strong>) - Этот метод может быть использован для выполнения действий при разрыве соединений, например, для активации эффектов разрушения или управления поведением объекта после разрыва.</li>
    <li id="hJdA">OnParticleCollision() - Вызывается, когда частицы, созданные системой частиц, сталкиваются с коллайдером другого объекта.</li>
    <li id="6dAZ">OnPlayerConnected() - Вызывается на сервере, когда новый игрок подключается к сетевой игре.</li>
    <li id="XvPP">OnPlayerDisconnected() - Вызывается на сервере, когда игрок отключается от сетевой игры.</li>
    <li id="8dU1">OnTransformChildrenChanged() - Этот метод может быть использован для выполнения действий при изменениях в трансформации дочерних объектов.</li>
    <li id="HlR5">OnTransformParentChanged() - Этот метод может быть использован для выполнения действий при изменении родительского объекта.</li>
    <li id="Kljc">OnRenderObject() - Вызывается при каждой отрисовке объекта.</li>
    <li id="27rM">OnPreRender() - Этот метод может быть использован для выполнения действий, которые должны произойти непосредственно перед отрисовкой, например, для настройки камеры или рендерера.</li>
    <li id="0Jf1">OnPostRender() - Этот метод может быть использован для выполнения действий, которые должны произойти непосредственно после отрисовки, например, для восстановления настроек камеры или рендерера.</li>
    <li id="yPuJ">OnLevelWasLoaded(int Level) - Вызывается, когда загружается новый уровень.</li>
    <li id="c7nk">OnAudioFilterRead(<strong><code>float[] data, int channels</code></strong>) - Вызывается перед тем, как произойдет воспроизведение аудио. Параметр <code>data</code> представляет собой массив аудиоданных, а <code>channels</code> указывает на количество аудиоканалов.</li>
    <li id="osns">OnRectTransformDimensionsChange() - Вызывается при изменении размеров прямоугольника трансформации (RectTransform).</li>
    <li id="rZaw">OnRectTransformRemoved() - Вызывается, когда компонент RectTransform удален из объекта.</li>
    <li id="ekB3">OnCanvasGroupChanged() - Этот метод может быть использован для выполнения действий при изменении свойств группы Canvas, например, при изменении прозрачности или блокировке группы.</li>
    <li id="0EVj">OnCanvasHierarchyChanged() - Вызывается при изменении иерархии объектов Canvas.</li>
    <li id="E5NI">OnRenderImage()</li>
    <li id="nQHD">OnWillRenderObject()</li>
    <li id="mEvH">OnPreCull()</li>
    <li id="Yn9V">OnRenderObject()</li>
    <li id="OduR">OnRenderTexture()</li>
    <li id="dtU3">OnWillRenderObject()</li>
    <li id="H7uF">OnBecameVisible()</li>
    <li id="k9mF">OnBecameInvisible()</li>
    <li id="uRSX">OnParticleCollision()</li>
    <li id="NTK8">OnNetworkInstantiate()</li>
    <li id="kPLp">OnParticleTrigger()</li>
    <li id="jgRw">OnParticleCollision()</li>
    <li id="vi1s">OnParticleSystemStopped()</li>
    <li id="n2va">OnControllerColliderHit()</li>
    <li id="LWh5">OnConnectedToServer()</li>
    <li id="fRk9">OnDisconnectedFromServer()</li>
    <li id="7qW7">OnFailedToConnect()</li>
    <li id="AO6S">OnFailedToConnectToMasterServer()</li>
    <li id="UvdM">OnMasterServerEvent()</li>
    <li id="vnOC">OnNetworkInstantiate()</li>
    <li id="4NyO">OnSerializeNetworkView()</li>
    <li id="o7kb">OnServerInitialized()</li>
    <li id="Fgcn">OnNetworkInstantiate()</li>
    <li id="pa1n">OnSerializeNetworkView()</li>
    <li id="1RYj">OnFailedToConnectToMasterServer()</li>
    <li id="rezM">OnMasterServerEvent()</li>
    <li id="lcUW">OnNetworkInstantiate()</li>
    <li id="JSKg">OnSerializeNetworkView()</li>
    <li id="8SAU">OnFailedToConnect()</li>
    <li id="W8Gj">OnFailedToConnectToMasterServer()</li>
    <li id="pt4i">OnMasterServerEvent()</li>
  </ol>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="nR1w">Все типы данных</h3>
  </section>
  <ol id="ls9u">
    <li id="hau2">GameObject</li>
    <li id="LU2n">Component</li>
    <li id="wtry">MonoBehaviour</li>
    <li id="1fcs">Transform -        ==Позиция==</li>
    <li id="s2E0">Vector2</li>
    <li id="iszf">Vector3</li>
    <li id="mP9d">Vector4</li>
    <li id="tz2F">Quaternion</li>
    <li id="GxeA">Matrix4x4</li>
    <li id="8N9b">Color</li>
    <li id="gTJW">Rect</li>
    <li id="dOPW">RectOffset</li>
    <li id="ONsl">Bounds</li>
    <li id="IrXE">Ray</li>
    <li id="iXMN">Ray2D</li>
    <li id="z1gG">LayerMask</li>
    <li id="PSli">Plane</li>
    <li id="BilG">Mathf</li>
    <li id="jTWS">Time</li>
    <li id="HBrD">Random</li>
    <li id="2CMq">Input</li>
    <li id="sDtP">Resources</li>
    <li id="lh67">AssetBundle</li>
    <li id="PUP9">Texture</li>
    <li id="yKcF">Texture2D</li>
    <li id="BB0J">RenderTexture</li>
    <li id="836h">Material</li>
    <li id="hECo">Shader</li>
    <li id="NCv6">Mesh</li>
    <li id="80oi">AnimationCurve</li>
    <li id="55WZ">Keyframe</li>
    <li id="HoMH">AnimationClip</li>
    <li id="5yxw">Animator</li>
    <li id="gG6l">AnimatorControllerParameter</li>
    <li id="iKvP">AnimationEvent</li>
    <li id="Pwj0">AnimationState</li>
    <li id="U3Lx">AnimationBlendMode</li>
    <li id="pTfB">AnimationPlayMode</li>
    <li id="9p2W">AnimationCullingType</li>
    <li id="Be5d">Animation</li>
    <li id="K0wI">AnimatorController</li>
    <li id="mDdn">AnimatorOverrideController</li>
    <li id="Kd9t">AnimatorUtility</li>
    <li id="SEKb">Motion</li>
    <li id="5EmX">ParticleSystem</li>
    <li id="uSk7">ParticleSystemRenderer</li>
    <li id="jgIO">ParticleSystem.Particle</li>
    <li id="f7LP">Physics</li>
    <li id="sNAx">Rigidbody</li>
    <li id="cmfo">Collider</li>
    <li id="vJYB">MeshCollider</li>
    <li id="KWxq">BoxCollider</li>
    <li id="XxF9">SphereCollider</li>
    <li id="Q3Aa">CapsuleCollider</li>
    <li id="BVtW">WheelCollider</li>
    <li id="YQFM">CharacterController</li>
    <li id="wUU9">Joint</li>
    <li id="JKdL">HingeJoint</li>
    <li id="x6Xo">FixedJoint</li>
    <li id="cjzF">SpringJoint</li>
    <li id="0Tyj">CharacterJoint</li>
    <li id="IIxQ">ConfigurableJoint</li>
    <li id="dhnm">DistanceJoint2D</li>
    <li id="pKjr">FixedJoint2D</li>
    <li id="vyZh">FrictionJoint2D</li>
    <li id="JCGf">HingeJoint2D</li>
    <li id="2CxN">SliderJoint2D</li>
    <li id="y1vK">SpringJoint2D</li>
    <li id="8Ujg">TargetJoint2D</li>
    <li id="WTKt">WheelJoint2D</li>
    <li id="hgn3">Joint2D</li>
    <li id="AEBa">Rigidbody2D</li>
    <li id="YSMV">Collider2D</li>
    <li id="vJ7w">CircleCollider2D</li>
    <li id="XOhQ">BoxCollider2D</li>
    <li id="sApp">PolygonCollider2D</li>
    <li id="kpwU">EdgeCollider2D</li>
    <li id="zOqL">CompositeCollider2D</li>
    <li id="x02E">CapsuleCollider2D</li>
    <li id="3TrY">ConstantForce2D</li>
    <li id="sFSS">Effector2D</li>
    <li id="YypB">BuoyancyEffector2D</li>
    <li id="EYyg">PlatformEffector2D</li>
    <li id="oHHi">SurfaceEffector2D</li>
    <li id="Bgzd">AreaEffector2D</li>
    <li id="SAmP">BuoyancyEffector2D</li>
    <li id="B3c8">PlatformEffector2D</li>
    <li id="TPon">SurfaceEffector2D</li>
    <li id="Dm1O">AreaEffector2D</li>
    <li id="FJd7">BuoyancyEffector2D</li>
    <li id="LuRk">PlatformEffector2D</li>
    <li id="sgbc">SurfaceEffector2D</li>
    <li id="kPx5">AreaEffector2D</li>
    <li id="A4sQ">TerrainCollider</li>
    <li id="GW7u">WheelHit</li>
    <li id="ZEOy">CharacterInfo</li>
    <li id="OJXU">Font</li>
    <li id="xU7z">GUIStyle</li>
    <li id="jA9b">GUIContent</li>
    <li id="KPdn">GUIStyleState</li>
    <li id="agfB">GUISkin</li>
    <li id="rtQK">GUILayout</li>
    <li id="fyp0">GUILayoutOption</li>
    <li id="ScfM">RectOffset</li>
  </ol>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="g0g4">Mathf - математика в unity</h3>
  </section>
  <p id="Qbos">Методы:</p>
  <ol id="OIXY">
    <li id="p4a0"><code>Abs(float value)</code>: Возвращает абсолютное значение числа.</li>
    <li id="gJXu"><code>Ceil(float f)</code>: Округляет число до ближайшего большего целого.</li>
    <li id="T0Nr"><code>Clamp(float value, float min, float max)</code>: Ограничивает значение в пределах заданного диапазона.</li>
    <li id="CORH"><code>Cos(float f)</code>: Возвращает косинус угла в радианах.</li>
    <li id="GCfK"><code>Exp(float power)</code>: Возвращает экспоненту числа.</li>
    <li id="dnxT"><code>Lerp(float a, float b, float t)</code>: Линейно интерполирует между двумя значениями.</li>
    <li id="HiDM"><code>Log(float f)</code>: Возвращает натуральный логарифм числа.</li>
    <li id="oJJW"><code>Max(float a, float b)</code>: Возвращает наибольшее значение из двух чисел.</li>
    <li id="7zn5"><code>Min(float a, float b)</code>: Возвращает наименьшее значение из двух чисел.</li>
    <li id="dHGd"><code>Pow(float f, float p)</code>: Возвращает число, возведенное в степень.</li>
    <li id="ahZg"><code>Round(float f)</code>: Округляет число до ближайшего целого.</li>
    <li id="MXgx"><code>Sin(float f)</code>: Возвращает синус угла в радианах.</li>
    <li id="G3QT"><code>Sqrt(float f)</code>: Возвращает квадратный корень числа.</li>
    <li id="Crlq"><code>Tan(float f)</code>: Возвращает тангенс угла в радианах.</li>
  </ol>
  <p id="aihp">Константы:</p>
  <ol id="1D6G">
    <li id="b3g7"><code>E</code>: Экспонента (2.71828).</li>
    <li id="1M6o"><code>PI</code>: Число Пи (3.14159).</li>
    <li id="hlyk"><code>Infinity</code>: Положительная бесконечность.</li>
    <li id="deKB"><code>NegativeInfinity</code>: Отрицательная бесконечность.</li>
    <li id="UVQ5"><code>Deg2Rad</code>: Константа для преобразования градусов в радианы.</li>
    <li id="2KkY"><code>Rad2Deg</code>: Константа для преобразования радиан в градусы.</li>
  </ol>
  <p id="BiQT"><code>Mathf</code> предоставляет удобный набор функций для работы с числами в Unity и часто используется для выполнения различных математических операций в игровых сценах и скриптах.</p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="j5hw">Transform - перемещение</h3>
  </section>
  <h3 id="27E4">Атрибуты:</h3>
  <ol id="kNR2">
    <li id="kUod"><strong>position</strong>: Возвращает или устанавливает позицию объекта в трехмерных координатах (Vector3).</li>
    <li id="7TVe"><strong>rotation</strong>: Возвращает или устанавливает вращение объекта в виде кватерниона (Quaternion).</li>
    <li id="6zAX"><strong>localPosition</strong>: Возвращает или устанавливает позицию объекта относительно его родительского объекта в локальных координатах (Vector3).</li>
    <li id="X6Sh"><strong>localRotation</strong>: Возвращает или устанавливает вращение объекта относительно его родительского объекта в виде кватерниона (Quaternion).</li>
    <li id="sj6I"><strong>localScale</strong>: Возвращает или устанавливает масштаб объекта относительно его родительского объекта (Vector3).</li>
    <li id="goiu"><strong>parent</strong>: Возвращает или устанавливает родительский объект.</li>
    <li id="vsGU"><strong>childCount</strong>: Возвращает количество дочерних объектов.</li>
    <li id="W5Wc"><strong>forward</strong>: Возвращает направление вперед относительно объекта (Vector3).</li>
    <li id="De9y"><strong>right</strong>: Возвращает направление вправо относительно объекта (Vector3).</li>
    <li id="eJQB"><strong>up</strong>: Возвращает направление вверх относительно объекта (Vector3).</li>
  </ol>
  <h3 id="7o6O">Методы:</h3>
  <ol id="rLxP">
    <li id="LOB4"><strong>Translate(Vector3 translation)</strong>: Смещает объект на указанный вектор.</li>
    <li id="l6O9"><strong>Rotate(Vector3 eulerAngles)</strong>: Поворачивает объект на указанные углы вокруг его центра.</li>
    <li id="xixU"><strong>LookAt(Transform target)</strong>: Поворачивает объект так, чтобы его направление было направлено на указанный объект.</li>
    <li id="C4OB"><strong>TransformPoint(Vector3 position)</strong>: Преобразует локальные координаты в мировые координаты.</li>
    <li id="TdrO"><strong>InverseTransformPoint(Vector3 position)</strong>: Преобразует мировые координаты в локальные координаты.</li>
    <li id="EXOB"><strong>TransformDirection(Vector3 direction)</strong>: Преобразует локальное направление в мировое направление.</li>
    <li id="I8UI"><strong>InverseTransformDirection(Vector3 direction)</strong>: Преобразует мировое направление в локальное направление.</li>
    <li id="NrFh"><strong>DetachChildren()</strong>: Отсоединяет все дочерние объекты от текущего объекта.</li>
    <li id="RBmK"><strong>Find(string name)</strong>: Находит дочерний объект по его имени.</li>
  </ol>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="z9Wh"><strong>Button Методы</strong></h3>
  </section>
  <ol id="jvHK">
    <li id="60C6"><strong>OnClick()</strong> - Метод для обработки события нажатия на кнопку</li>
    <li id="KsIi"><strong>OnHoverEnter()</strong> - Метод, вызываемый когда курсор мыши наводится на кнопку</li>
    <li id="jGWg"><strong>OnHoverExit()</strong> - Метод, вызываемый когда курсор мыши покидает кнопку</li>
    <li id="91gk"><strong>DisableButton()</strong> - Метод для отключения</li>
    <li id="cBLO"><strong>EnableButton()</strong> - Метод для включения кнопки</li>
    <li id="hCaW"><strong>ChangeButtonText()</strong> - Метод для изменения текста кнопки</li>
    <li id="9xSR"><strong>ChangeButtonColor()</strong> - Метод для изменения цвета кнопки</li>
    <li id="YHuy"><strong>AnimateButtonPress()</strong> - Метод для анимации нажатия кнопки</li>
    <li id="oH3Y"><strong>ShowButton()</strong> - Метод для отображения кнопки, если она была скрыта</li>
    <li id="dORK"><strong>HideButton()</strong> - Метод для скрытия кнопки</li>
  </ol>

]]></content:encoded></item></channel></rss>