diff --git a/.idea/.idea.SummerGame/.idea/.gitignore b/.idea/.idea.SummerGame/.idea/.gitignore index ebc1525..e1061c3 100644 --- a/.idea/.idea.SummerGame/.idea/.gitignore +++ b/.idea/.idea.SummerGame/.idea/.gitignore @@ -1,17 +1,15 @@ -# Default ignored files +# Default ignored files /shelf/ /workspace.xml - # Rider ignored files +/projectSettingsUpdater.xml /.idea.SummerGame.iml /contentModel.xml /modules.xml -/projectSettingsUpdater.xml - -# Editor-based HTTP Client requests -/httpRequests/ - +# Ignored default folder with query files +/queries/ # Datasource local storage ignored files /dataSources/ /dataSources.local.xml - +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/.idea.SummerGame/.idea/encodings.xml b/.idea/.idea.SummerGame/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.SummerGame/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Assets/Scripts/TextureAtlasSliderController.cs b/Assets/Scripts/TextureAtlasSliderController.cs deleted file mode 100644 index b8fbc18..0000000 --- a/Assets/Scripts/TextureAtlasSliderController.cs +++ /dev/null @@ -1,82 +0,0 @@ -using UnityEngine; -using UnityEngine.UI; // Обязательно для работы со Slider - -public class TextureAtlasSliderController : MonoBehaviour -{ - [Header("Ссылки на объекты")] - [SerializeField] private Renderer targetRenderer; // Модель, на которой меняем текстуру - [SerializeField] private Slider sliderX; // Слайдер для смещения по оси X - [SerializeField] private Slider sliderY; // Слайдер для смещения по оси Y - - [Header("Масштаб текстуры (Tiling)")] - [SerializeField] private Vector2 tiling = new Vector2(0.5f, 0.5f); // Например, 0.5 для сетки 2х2 - - private Material targetMaterial; - - void Start() - { - // Если рендерер не назначен вручную, пытаемся найти его на этом же объекте - if (targetRenderer == null) - { - targetRenderer = GetComponent(); - } - - if (targetRenderer != null) - { - // Кешируем материал, чтобы не создавать копии в памяти каждый кадр - targetMaterial = targetRenderer.material; - - // Устанавливаем начальный масштаб (Tiling) - targetMaterial.mainTextureScale = tiling; - } - - // Настраиваем слайдер X - if (sliderX != null) - { - sliderX.minValue = 0f; - sliderX.maxValue = 1f; - // Подписываемся на событие изменения значения слайдера - sliderX.onValueChanged.AddListener(OnOffsetXChanged); - // Устанавливаем начальное положение слайдера под текущее смещение материала - sliderX.value = targetMaterial != null ? targetMaterial.mainTextureOffset.x : 0f; - } - - // Настраиваем слайдер Y - if (sliderY != null) - { - sliderY.minValue = 0f; - sliderY.maxValue = 1f; - sliderY.onValueChanged.AddListener(OnOffsetYChanged); - sliderY.value = targetMaterial != null ? targetMaterial.mainTextureOffset.y : 0f; - } - } - - // Метод вызывается автоматически при движении слайдера X - private void OnOffsetXChanged(float value) - { - if (targetMaterial != null) - { - Vector2 currentOffset = targetMaterial.mainTextureOffset; - currentOffset.x = value; - targetMaterial.mainTextureOffset = currentOffset; - } - } - - // Метод вызывается автоматически при движении слайдера Y - private void OnOffsetYChanged(float value) - { - if (targetMaterial != null) - { - Vector2 currentOffset = targetMaterial.mainTextureOffset; - currentOffset.y = value; - targetMaterial.mainTextureOffset = currentOffset; - } - } - - private void OnDestroy() - { - // Отписываемся от событий при уничтожении объекта во избежание утечек памяти - if (sliderX != null) sliderX.onValueChanged.RemoveListener(OnOffsetXChanged); - if (sliderY != null) sliderY.onValueChanged.RemoveListener(OnOffsetYChanged); - } -} \ No newline at end of file diff --git a/Assets/Scripts/TextureAtlasSliderController.cs.meta b/Assets/Scripts/TextureAtlasSliderController.cs.meta deleted file mode 100644 index b01c270..0000000 --- a/Assets/Scripts/TextureAtlasSliderController.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 5d2cf3004b777404084244b8470fc294 \ No newline at end of file