Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- public class Player : MonoBehaviour
- {
- public Rigidbody2D rb2D;
- public Transform groundCheck;
- public LayerMask groundLayer;
- private float _playerX;
- private float _Speed=5.0f;
- private float jumpPower=10.0f;
- private bool IsGrounded() {
- return Physics2D.OverlapCircle(groundCheck.position, 0.2f, groundLayer);
- }
- private void Update() {
- Jump();
- // Added for teleport use
- UseTeleportor();
- }
- private void FixedUpdate() {
- _playerX = Input.GetAxisRaw("Horizontal");
- rb2D.velocity = new Vector2(_playerX * _Speed, rb2D.velocity.y);
- }
- private void Jump() {
- if (Input.GetButtonDown("Jump") && IsGrounded())
- {
- rb2D.velocity = new Vector2(rb2D.velocity.x, jumpPower);
- }
- }
- #region Teleport.cs Addon code
- private void OnTriggerEnter2D(Collider2D other) {
- if (other.CompareTag("Teleportor")) {
- curTeleportor = other.gameObject;
- }
- }
- private void OnTriggerExit2D(Collider2D other) {
- if (other.CompareTag("Teleportor")) {
- if (other.gameObject == curTeleportor)
- curTeleportor = null;
- }
- }
- private void UseTeleportor() {
- if (Input.GetButtonDown("Interact")) {
- if (curTeleportor != null) {
- transform.position = curTeleportor.GetComponent<Teleport>().GetDestination().position;
- }
- }
- }
- #endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement