Exemplo n.º 1
0
 private void Update()
 {
     if (observerCount > 0)
     {
         remainingSecondsTillCheck -= Time.deltaTime;
         if (remainingSecondsTillCheck <= 0f)
         {
             remainingSecondsTillCheck += visibilityCheckPeriodSeconds;
             bool isVisibleNow = VM20.Instance.IsVisible(CachedTransform.position);
             if (isVisibleNow != isVisible)
             {
                 isVisible = isVisibleNow;
                 OnVisibilityStateChanged?.Invoke(isVisible);
             }
         }
     }
 }
Exemplo n.º 2
0
    private void OnTriggerExit(Collider other)
    {
        if (other.CompareTag(TAG_PLAYER))
        {
            observerCount--;
            Debug.Assert(observerCount >= 0, "EnemyUnitController: Negative observer count reached.");

            if (observerCount == 0)
            {
                if (isVisible)
                {
                    isVisible = false;
                    OnVisibilityStateChanged?.Invoke(isVisible);
                }
            }
        }
    }