using System.Collections.Generic; using UnityEngine; public class TaggedObject : MonoBehaviour { [SerializeField] private List tags = new List(); private TagManager tagManager; private Hp hp; public Collider colliderForBigOjectsToMeasureDistance; public List Tags => tags; public Hp Hp => hp; private void Start() { hp = GetComponent(); } private void OnEnable() { if (tagManager == null) { tagManager = TagManager.instance; } tagManager.AddTaggedObject(this); } private void OnDisable() { if (tagManager == null) { tagManager = TagManager.instance; } tagManager.RemoveTaggedObject(this); } public void AddTag(TagManager.ETag _tag) { if (!tags.Contains(_tag)) { tags.Add(_tag); tagManager.AddTag(this, _tag); } } public void RemoveTag(TagManager.ETag _tag) { if (tags.Contains(_tag)) { tags.Remove(_tag); tagManager.RemoveTag(this, _tag); } } }