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); }
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); }
// 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; } }
// public void catchRope(ChainTopHit currentChain, int onLink) { catchRope(currentChain, currentChain.chainPieces[onLink], onLink); }
// public void catchRope(ChainTopHit currentChain, Rigidbody2D chainLinkOn) { catchRope(currentChain, chainLinkOn, currentChain.chainPieces.Count - 1); }
// public void catchRope(ChainTopHit currentChain) { catchRope(currentChain, currentChain.chainPieces[currentChain.chainPieces.Count - 1], currentChain.chainPieces.Count - 1); }