Esempio n. 1
0
 private void UnLock()
 {
     lockedOn = false;
     lockTarget.UnFreeze();
     lockTarget    = null;
     lockRealeased = Time.realtimeSinceStartup;
     angleLocked   = false;
 }
Esempio n. 2
0
 private void HeadCollision()
 {
     Collider2D[] overLapping = { null, null, null, null, null };
     Physics2D.OverlapCollider(headCollider, dangerousMask, overLapping);
     foreach (Collider2D obsticle in overLapping)
     {
         if (obsticle != null)
         {
             dangerousCollidable crashedObject = obsticle.GetComponent <dangerousCollidable>();
             if (crashedObject == lockTarget)
             {
                 UnLock();
             }
             crashedObject.Hit(transform.position, velocity);
         }
     }
 }
Esempio n. 3
0
    private void attemptLock(string direction)
    {
        //TODO: Find nearest Objectin area
        Collider2D[]   lockTargetColliders   = { null, null, null };
        EdgeCollider2D colliderLockDirection = direction == "Right" ? rightLockCollider : leftLockCollider;

        Physics2D.OverlapCollider(colliderLockDirection, dangerousMask, lockTargetColliders);
        foreach (Collider2D collider in lockTargetColliders)
        {
            if (collider != null)
            {
                dangerousCollidable target = collider.GetComponent <dangerousCollidable>();
                if (target != null)
                {
                    lockedOn = true;
                    target.Freeze();
                    lockTarget = target;
                    Debug.Log(target);
                    maxLength = Vector3.Distance(transform.position, target.transform.position);
                    return;
                }
            }
        }
    }