Beispiel #1
0
        //------------------------------------------------------------------------/
        // Methods
        //------------------------------------------------------------------------/
        /// <summary>
        /// Constructs a proxy in order to observe another GameObject's visibility messages
        /// </summary>
        /// <param name="target"></param>
        /// <param name="type"></param>
        /// <param name="onCollision"></param>
        /// <param name="persistent"></param>
        /// <returns></returns>
        public static StratusVisibilityProxy Construct(MeshRenderer target, OnVisible onVisible, float duration, float distance, bool persistent = true)
        {
            var proxy = target.gameObject.AddComponent <StratusVisibilityProxy>();

            proxy.onVisible += onVisible;
            proxy.duration   = duration;
            proxy.distance   = distance;
            proxy.persistent = persistent;
            return(proxy);
        }
Beispiel #2
0
        public void TurnVisible()
        {
            if (!isInvisible)
            {
                return;
            }

            StopCoroutine(_invisibilityCoroutine);

            AudioManager.Instance.Play(AudioClipName.Visible);
            isInvisible        = false;
            playerSprite.color = Color.white;
            OnVisible?.Invoke();
            StartCoroutine(EnableInvisibility());
        }
Beispiel #3
0
 protected void SetVisible(bool visible)
 {               //don't set visible if the worlditem is hidden
     RefreshShadowCasters(visible);
     if (Is(WILoadState.Initialized | WILoadState.PreparingToUnload | WILoadState.Unloading))
     {
         try {
             if (visible)
             {
                 OnVisible.SafeInvoke();
             }
             else
             {
                 OnInvisible.SafeInvoke();
             }
         } catch (Exception e) {
             Debug.LogException(e);
         }
     }
 }
Beispiel #4
0
 public void InvokeVisible()
 {
     OnVisible?.Invoke();
 }