예제 #1
0
 private void CheckForGrabbable()
 {
     if (!holding)
     {
         // check the facing direction for a grabbable object
         var hit = Physics2D.Raycast(transform.position, moveController.Direction, 1, grabbableLayer.value);
         if (hit.collider != null)
         {
             Debug.Log(hit.collider.name);
             // if we hit something, check if it's both a grabbable and a different target
             var hitController = hit.collider.GetComponent <GrabbableController>();
             if (hitController?.gameObject != target?.gameObject)
             {
                 target?.OnDeselect();
                 target = hitController;
                 target.OnSelect();
             }
         }
         else
         {
             if (target != null)
             {
                 target.OnDeselect();
                 target = null;
             }
         }
     }
 }
예제 #2
0
 // Use this for initialization
 void Start()
 {
     oscillateRange  = (endRange - startRange) / 2;
     oscillateOffset = oscillateRange + startRange;
     myCollider      = transform.GetComponent <BoxCollider2D>();
     river           = GameObject.FindGameObjectWithTag("river").GetComponent <BoxCollider2D>();
     playerSprite    = transform.GetComponent <SpriteRenderer>();
     Interact();
     itemCtl      = GetComponent <ItemController>();
     grabbableCtl = GetComponent <GrabbableController>();
 }