Пример #1
0
 private void DistanceTest()
 {
     if (CurrentObjectClicked != null)
     {
         if (CurrentObjectClicked == manager.GetComponentInChildren <ClickTrigger>())
         {
             CurrentObjectClicked = null;
             return;
         }
         FieldOfView fieldViewManager = Camera.main.GetComponent <CameraManager>().FieldOfView;
         if (!fieldViewManager.IsObjectVisibleFromPlayer(manager.gameObject, CurrentObjectClicked.transform.parent.gameObject))
         {
             CurrentObjectClicked.OnMouseExitTrigger();
             ActivateUIFeedback(false);
             CurrentObjectClicked = null;
         }
         else
         {
             interactionUI.EnableButton(this.CanDoAction());
             CurrentObjectClicked?.PlayerInActionRange(isObjectClickedInActionRange);
         }
     }
     else if (CurrentObjectOver != null)
     {
         FieldOfView fieldViewManager = Camera.main.GetComponent <CameraManager>().FieldOfView;
         if (!fieldViewManager.IsObjectVisibleFromPlayer(manager.gameObject, CurrentObjectOver.transform.parent.gameObject))
         {
             CurrentObjectOver.OnMouseExitTrigger();
             CurrentObjectOver = null;
         }
     }
 }
Пример #2
0
    private void CheckHitAnotherGameObject(GameObject hitGameObject)
    {
        bool hasHitAnotherGameObject = CurrentObjectOver != null && CurrentObjectOver.gameObject != hitGameObject;

        if (hasHitAnotherGameObject)
        {
            CurrentObjectOver.OnMouseExitTrigger();
        }
    }
Пример #3
0
 private void OnRaycastNotHit()
 {
     if (CurrentObjectOver != null && CurrentObjectOver != CurrentObjectClicked)
     {
         CurrentObjectOver.OnMouseExitTrigger();
     }
     CurrentObjectOver = null;
     cursor.SwitchCursor(CursorManager.CursorType.BASIC);
 }
Пример #4
0
    private void OnRaycastHit(GameObject hitGameObject)
    {
        CheckHitAnotherGameObject(hitGameObject);
        CurrentObjectOver = hitGameObject.GetComponent <ClickTrigger>();

        if (CurrentObjectClicked != null)
        {
            return;
        }

        if (!CurrentObjectOver.OnMouseOverTrigger(manager))
        {
            CurrentObjectOver = null;
        }
        else
        {
            cursor.SwitchCursor(CursorManager.CursorType.ON_INTERACT);
        }
    }