diff options
author | chai <215380520@qq.com> | 2024-05-20 22:36:58 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-05-20 22:36:58 +0800 |
commit | a22c505984697881f5f911a165ee022087b69e09 (patch) | |
tree | d3c030aef1ae9b8a01c889dd2902bb1e3324e72b /Thronefall_v1.0/Decompile/TaggedObject.cs | |
parent | 4a4cc82d069b26bc4d4532e73860f86b211ca239 (diff) |
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); + } + } +} |