diff options
Diffstat (limited to 'Thronefall_v1.0/Decompile/TaggedObject.cs')
-rw-r--r-- | Thronefall_v1.0/Decompile/TaggedObject.cs | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Thronefall_v1.0/Decompile/TaggedObject.cs b/Thronefall_v1.0/Decompile/TaggedObject.cs new file mode 100644 index 0000000..d6bede0 --- /dev/null +++ b/Thronefall_v1.0/Decompile/TaggedObject.cs @@ -0,0 +1,59 @@ +using System.Collections.Generic; +using UnityEngine; + +public class TaggedObject : MonoBehaviour +{ + [SerializeField] + private List<TagManager.ETag> tags = new List<TagManager.ETag>(); + + private TagManager tagManager; + + private Hp hp; + + public Collider colliderForBigOjectsToMeasureDistance; + + public List<TagManager.ETag> Tags => tags; + + public Hp Hp => hp; + + private void Start() + { + hp = GetComponent<Hp>(); + } + + 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); + } + } +} |