This commit is contained in:
2023-06-20 19:28:02 +03:00
commit 8e026f90cf
107 changed files with 7639 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
using UnityEngine;
public class PlayerController : MonoBehaviour
{
[SerializeField]
private Animator animator;
[SerializeField]
private float MovementSpeed = 1.5f;
[SerializeField]
private LayerMask ladderLayer;
[SerializeField]
private LayerMask groundLayer;
[SerializeField]
private float distance;
private bool _isOnLadder;
private Rigidbody2D _body;
private CapsuleCollider2D _capsule;
void Start()
{
_body = GetComponent<Rigidbody2D>();
_capsule= GetComponent<CapsuleCollider2D>();
}
void Update()
{
float moveX = Input.GetAxisRaw("Horizontal");
animator.SetFloat("Horizontal", moveX);
float moveY = 0;
var groundCheck = Physics2D.CapsuleCast(_capsule.bounds.center,_capsule.bounds.size,CapsuleDirection2D.Vertical,0f, Vector2.down, .1f,groundLayer);
if (groundCheck || _isOnLadder)
{
var ladderCheck = Physics2D.CapsuleCast(_capsule.bounds.center, _capsule.bounds.size, CapsuleDirection2D.Vertical, 0f, Vector2.down, .1f, ladderLayer);
if (ladderCheck)
{
_isOnLadder = true;
moveY = Input.GetAxisRaw("Vertical");
if(moveY> 0)
{
if(!Physics2D.CapsuleCast(_capsule.bounds.center, _capsule.bounds.size, CapsuleDirection2D.Vertical, 0f, Vector2.up, .1f, ladderLayer))
{
moveY= 0;
}
}
}
else
{
_isOnLadder = false;
}
_body.velocity = new Vector2(moveX * MovementSpeed, moveY * MovementSpeed);
}
}
private void FixedUpdate()
{
if (_isOnLadder)
{
_body.gravityScale = 0;
}
else
{
_body.gravityScale = 5;
}
}
}