void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("zipline") && Time.time - _lastFinishTime > _minTimeOffset) { _onZipline = true; ZiplineBar ziplineBarScript = other.GetComponentInParent <ZiplineBar>(); _target = ziplineBarScript.getEndPos(); _target.z = transform.position.z; _saveGravityScale = _rb.gravityScale; _betterJumpScript.enabled = false; _movementController.enabled = false; _boxCollider2D.enabled = false; _rb.gravityScale = 0.0f; _rb.velocity = Vector2.zero; } }
void Update() { if (Input.GetButtonDown("Fire1") && _inPlacement && _target != null && movementController.grounded()) { _inPlacement = false; _endZiplineBarScript.setSpriteStatus(ZiplineBar.ZiplineStatus.Normal); _startZiplineBarScript.setSpriteStatus(ZiplineBar.ZiplineStatus.Normal); _startZiplineBarScript.confirmCreation(); _startZiplineInst = null; _endZiplineInst = null; _startZiplineBarScript = null; _endZiplineBarScript = null; } else if (Input.GetButtonDown("Skill1")) { _inPlacement = !_inPlacement; if (_inPlacement) { updateWorldPos(); // instanciate start ziplineBar _startZiplineInst = Instantiate(zipline); _startZiplineInst.transform.position = new Vector3(transform.position.x, transform.position.y - _startYOffset, transform.position.z - 1.0f); _startZiplineBarScript = _startZiplineInst.GetComponent <ZiplineBar>(); _startZiplineBarScript.setSpriteStatus(ZiplineBar.ZiplineStatus.Valid); // instanciate end ziplineBar _endZiplineInst = Instantiate(zipline); _endZiplineInst.transform.position = new Vector3(_worldPos.x, _worldPos.y, _worldPos.z - 1.0f); _endZiplineBarScript = _endZiplineInst.GetComponent <ZiplineBar>(); _endZiplineBarScript.setSpriteStatus(ZiplineBar.ZiplineStatus.Valid); _startZiplineBarScript.initZipline(_endZiplineInst); } else { Destroy(_endZiplineInst); Destroy(_startZiplineInst); _startZiplineInst = null; _endZiplineInst = null; } } }