/
arti4
/
Diplom
Обзор
Документация
Войти
/
arti4
/
Diplom
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Scripts/Other/Map/MarkerContainersManager.cs
115 строк
3 KB
arti4
Загрузка всех скриптов
17 май 2026, 09:08
Верифицирован
17 май 2026, 09:08
cc2e1cd
Код
Авторство
О чём код?
using System.Collections; using UnityEngine; public class MarkerContainersManager : MonoBehaviour { private static MarkerContainersManager instance; [Header("����������")] [SerializeField] private Transform miniMapMarkersContainer; [SerializeField] private Transform bigMapMarkersContainer; [SerializeField] private Transform enemyArrowsContainer; [SerializeField] private Transform edgeMarkersContainer; [SerializeField] private Transform bigMapArrowsContainer; public static MarkerContainersManager Instance { get { if (instance == null) { instance = FindFirstObjectByType<MarkerContainersManager>(); if (instance == null) { GameObject go = new GameObject("MarkerContainersManager"); instance = go.AddComponent<MarkerContainersManager>(); } } return instance; } } void Awake() { if (instance != null && instance != this) { Destroy(gameObject); return; } instance = this; CreateAllContainers(); } void Start() { EnsureAllContainersExist(); } void CreateAllContainers() { miniMapMarkersContainer = CreateContainer("MiniMapMarkersContainer"); bigMapMarkersContainer = CreateContainer("BigMapMarkersContainer"); enemyArrowsContainer = CreateContainer("EnemyArrowsContainer"); edgeMarkersContainer = CreateContainer("EdgeMarkersContainer"); bigMapArrowsContainer = CreateContainer("BigMapArrowsContainer"); } Transform CreateContainer(string name) { GameObject existing = GameObject.Find(name); if (existing != null) { return existing.transform; } GameObject container = new GameObject(name); container.transform.position = Vector3.zero; container.transform.rotation = Quaternion.identity; container.transform.localScale = Vector3.one; container.transform.SetParent(transform); return container.transform; } void EnsureAllContainersExist() { if (miniMapMarkersContainer == null) miniMapMarkersContainer = CreateContainer("MiniMapMarkersContainer"); if (bigMapMarkersContainer == null) bigMapMarkersContainer = CreateContainer("BigMapMarkersContainer"); if (enemyArrowsContainer == null) enemyArrowsContainer = CreateContainer("EnemyArrowsContainer"); if (edgeMarkersContainer == null) edgeMarkersContainer = CreateContainer("EdgeMarkersContainer"); if (bigMapArrowsContainer == null) bigMapArrowsContainer = CreateContainer("BigMapArrowsContainer"); } public Transform GetMiniMapMarkersContainer() { EnsureAllContainersExist(); return miniMapMarkersContainer; } public Transform GetBigMapMarkersContainer() { EnsureAllContainersExist(); return bigMapMarkersContainer; } public Transform GetEnemyArrowsContainer() { EnsureAllContainersExist(); return enemyArrowsContainer; } public Transform GetEdgeMarkersContainer() { EnsureAllContainersExist(); return edgeMarkersContainer; } public Transform GetBigMapArrowsContainer() { EnsureAllContainersExist(); return bigMapArrowsContainer; } }