using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// /// Панель зон /// public class LocationZones : MonoBehaviour { public Dictionary ZoneInfos = new Dictionary(); // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } /// /// Добавление новой зоны в панель /// /// public void AddZone(Zone zone) { var zone_info = Instantiate(Resources.Load("GameObjects/ZoneInfo", typeof(ZoneInfo))) as ZoneInfo; ZoneInfos.Add(zone.id, zone_info); zone_info.text.text = zone.name; zone_info.zone = zone; zone_info.transform.SetParent(gameObject.GetComponent().content.transform); } /// /// Добавление списка зон /// /// public void AddRangeZones(List zones) { foreach (var z in zones) AddZone(z); } /// /// Удаление зоны /// /// public void DeleteZone(uint id) { if (ZoneInfos.ContainsKey(id)) { Destroy(ZoneInfos[id].gameObject); ZoneInfos.Remove(id); } } /// /// Удаление всех зон из панели /// public void DeleteAllZones() { foreach (var z in ZoneInfos) Destroy(z.Value); } /// /// Зона пользователя /// /// public void UserPosition(User user, Structure user_pos) { foreach (var z in ZoneInfos) { z.Value.UserDetectPosition(user, user_pos); } } }