using System.Collections; using System.Collections.Generic; using UnityEngine; using static CommunicationEvents; public class Pointer : Gadget { public WorldCursor Cursor; void Awake() { if (FactManager == null) FactManager = GameObject.FindObjectOfType<FactManager>(); CommunicationEvents.TriggerEvent.AddListener(OnHit); if (this.Cursor == null) this.Cursor = GameObject.FindObjectOfType<WorldCursor>(); this.UiName = "Point Mode"; } void OnEnable() { this.Cursor.setLayerMask(~this.ignoreLayerMask.value); } public override void OnHit(RaycastHit hit) { if (!this.isActiveAndEnabled) return; var pid = FactManager.GetFirstEmptyID(); FactManager.AddPointFact(hit, pid); if (hit.transform.gameObject.layer == LayerMask.NameToLayer("Ray")) { FactManager.AddOnLineFact(pid, hit.transform.GetComponent<FactObject>().Id, FactManager.GetFirstEmptyID()); } } }