public virtual void InitSightTrigger() { _sightTrigger = GetComponentInChildren <CircleCollider2D>(); if (_sightTrigger == null) { var obj = new GameObject("_Col2D"); obj.transform.SetParent(transform, false); _sightTrigger = obj.AddComponent <CircleCollider2D>(); } _sightTrigger.isTrigger = true; _sightTrigger.radius = config.viewingDistance; _sightTrigger.GetOrAddComponent <ObserverTriggerHelperBehaviour2D>(); var r = _sightTrigger.GetOrAddComponent <Rigidbody2D>(); r.isKinematic = true; if (LosManager.instance.settings != null) { _sightTrigger.gameObject.layer = LosManager.instance.settings.sightLayerID; } else { Debug.LogWarning("Settings database not set on LosManager"); } }