// Update is called once per frame private void Update() { if (!IsPlayerInRange()) { IsBeingLookedAt = false; } else { RaycastHit hit; if (Physics.Raycast( camera.transform.position, camera.transform.forward, out hit, MaxInteractDistance, Layers.FriendlyProjectilesMask)) { IsBeingLookedAt = MonoBehaviourUtils.IsChildOrSelf(gameObject, hit.transform.gameObject); } else { IsBeingLookedAt = false; } } if (!IsOccupied && IsBeingLookedAt) { ShowSilhouette(); } else { HideSilhouette(); } }
public override void UnBindings() { MonoBehaviourUtils.RemoveComponent <LaserPooler>(gameObject); }
public void RemoveExtansion <T>() where T : Component { MonoBehaviourUtils.RemoveComponent <T>(gameObject); }
public T GetOrAddExtension <T>() where T : Component { T result = MonoBehaviourUtils.GetOrAddComponent <T>(gameObject); return(result); }
public static GameObject FindGameObjectInScene(string name) { CreateMonoBehaviourInstanceIfNeeded(); return(MonoBehaviourUtils.FindGameObjectInScene(name)); }
public static T FindObjectOfTypeInScene <T>() where T : UnityEngine.Object { CreateMonoBehaviourInstanceIfNeeded(); return(MonoBehaviourUtils.FindObjectOfTypeInScene <T>()); }
public static void StartStaticCoroutine(IEnumerator coroutine) { CreateMonoBehaviourInstanceIfNeeded(); MonoBehaviourUtils.StartStaticCoroutine(coroutine); }