void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Head") { GameObject gameController = GameObject.Find("GameController"); PlayerScore score = gameController.GetComponent <PlayerScore>(); int tmpMultiplier = score.getMuliplier(); Destroy(this.gameObject); other.rigidbody2D.velocity = Vector3.zero; other.rigidbody2D.gravityScale = 0.0f; Head head = other.GetComponent <Head>(); head.controlLock = true; head.destroyAllSegments(); Animator anim = other.gameObject.GetComponent <Animator>(); anim.SetBool("ReachedEndOfLevel", true); Camera.main.orthographicSize = 3.0f; smooth2Dfollow sm2Df = Camera.main.GetComponent <smooth2Dfollow>(); sm2Df.targetPosOnScreenX = 0.5f; sm2Df.targetPosOnScreenY = 0.5f; score.setMultiplier(tmpMultiplier); } }
public virtual void respawn() { playerScore.addDeath(); GameObject newPlayer = (GameObject)Instantiate(respawnable); newPlayer.transform.position = this.transform.position; newPlayer.layer = LayerMask.NameToLayer("Head"); smooth2Dfollow sm2df = Camera.main.GetComponent <smooth2Dfollow>(); sm2df.target = newPlayer.transform; scrolltriggerscript scrolltrigger = newPlayer.GetComponent <scrolltriggerscript>(); scrolltrigger.cam = Camera.main; scrolltrigger.playerFollower = sm2df; scrolltrigger.backgroundLevels = backgroundLevels; Head newHead = newPlayer.GetComponent <Head>(); newHead.successor = null; newHead.mask = mask; newHead.newSeg = Resources.Load <GameObject>("Segment"); newHead.grounded = true; for (int i = 0; i < 5; i++) { newHead.growNewSegment(); } playerScore.head = newHead; }
void OnTriggerExit2D(Collider2D other) { if (other.tag == "Head") { smooth2Dfollow sm2df = Camera.main.GetComponent <smooth2Dfollow>(); sm2df.targetPosOnScreenX = this.ExitCaterpillarCamPosX; sm2df.targetPosOnScreenY = this.ExitCaterpillarCamPosY; } }