public void launch(Vector2 pos, ChainTopHit chain, int linkpos)
 {
     transform.position      = pos;
     climber.chains[0].climb = true;
     climber.catchRope(chain, linkpos);
     isActive = true;
 }
    public Rigidbody2D fireChain(Vector3 hitObject)
    {
        if (currentChain)
        {
            currentChain.releaseChain();
        }

        Vector2 dir = new Vector2(this.transform.position.x - hitObject.x, this.transform.position.y - hitObject.y);

        dir = dir.normalized;
        //float mag = dir.magnitude;
        //float distance = mag/linkLength;
        //int num = (int)(distance);

        GameObject standingObject = ObjectPool.instance.GetObjectForType(chainTopPrefab.name);

        if (standingObject != null)
        {
            Rigidbody2D linkRigidBody = standingObject.GetComponent <Rigidbody2D>();
            currentChain         = standingObject.GetComponent <ChainTopHit>();
            currentChain.myChain = this;
            currentChain.Launch(this.transform.position, dir, chainPrefab, linkLength, hitObject);
        }

        return(null);
    }
Example #3
0
 public void launch(Vector2 pos, ChainTopHit chain, int linkpos, ChainTopHit chain2, int linkpos2)
 {
     transform.position = pos;
     isActive           = isClimber;
     //
     climber.chains[0].climb = isClimber;
     climber.catchRope(chain, linkpos);
     //
     climber.chains[1].climb = isClimber;
     climber.catchRope(chain2, linkpos2);
 }
Example #4
0
 //
 public void catchRope(ChainTopHit currentChain, Rigidbody2D chainLinkOn, int onLink)
 {
     chains[whichChain].myHinge.enabled       = true;
     chains[whichChain].myHinge.connectedBody = chainLinkOn;
     chains[whichChain].currentChain          = currentChain;
     chains[whichChain].currentLink           = onLink;
     whichChain++;
     if (whichChain > chains.Length - 1)
     {
         whichChain = 0;
     }
 }
Example #5
0
 //
 public void catchRope(ChainTopHit currentChain, int onLink)
 {
     catchRope(currentChain, currentChain.chainPieces[onLink], onLink);
 }
Example #6
0
 //
 public void catchRope(ChainTopHit currentChain, Rigidbody2D chainLinkOn)
 {
     catchRope(currentChain, chainLinkOn, currentChain.chainPieces.Count - 1);
 }
Example #7
0
 //
 public void catchRope(ChainTopHit currentChain)
 {
     catchRope(currentChain, currentChain.chainPieces[currentChain.chainPieces.Count - 1], currentChain.chainPieces.Count - 1);
 }