void Update()
    {
        clampState = redClamp.clampState;

        switch (clampState)
        {
        case (int)ClampStates.OPEN:
            if (hasSkyriseSection)
            {
                ReleaseSkyrise(capturedSkyrise);
            }
            break;

        case (int)ClampStates.CLOSED:
            if (hasSkyriseSection)
            {
            }
            else
            {
                SkyriseSection sr = FieldElementManager.GetCapturableSkyrise();
                if (sr != null)
                {
                    CaptureSkyrise(sr);
                }
            }
            break;
        }
    }
 public void Capture()
 {
     rb.isKinematic = true;
     isCaptured     = true;
     isCapturable   = false;
     FieldElementManager.SetCapturableSkyrise(this);
 }
 void OnTriggerExit(Collider other)
 {
     Debug.Log("Trigger Exited");
     //if a skyrise exits our trigger, it is no longer capturable
     if (other.gameObject.tag == "Skyrise Section")
     {
         SkyriseSection sr = other.gameObject.GetComponent <SkyriseSection>();
         sr.isCapturable = false;
         FieldElementManager.ClearCapturableSkyrise(sr);
     }
 }
    public void Release()
    {
        rb.isKinematic = false;
        isCaptured     = false;

        FieldElementManager.ClearCapturableSkyrise(this);

        if (isScorable)
        {
            Score();
        }
    }
 void OnTriggerEnter(Collider other)
 {
     Debug.Log("Trigger Entered");
     //if a skyrise enters our trigger, it is capturable
     if (clampState == (int)ClampStates.OPEN)
     {
         Debug.Log("Clamp is open");
         if (other.gameObject.tag == "Skyrise Section")
         {
             SkyriseSection sr = other.gameObject.GetComponent <SkyriseSection>();
             sr.isCapturable = true;
             FieldElementManager.SetCapturableSkyrise(sr);
         }
     }
 }