| | |
| | | public float wallDistance = 0.2f; |
| | | public float ceilingDistance = 0.05f; |
| | | |
| | | private Vector2 wallCheckDirection => gameObject.transform.localScale.x > 0 ? Vector2.right : Vector2.left; |
| | | //private Vector2 wallCheckDirection => gameObject.transform.localScale.x > 0 ? Vector2.right : Vector2.left; |
| | | |
| | | Rigidbody2D rb; |
| | | public GameObject rotorGO; |
| | |
| | | Animator animator; |
| | | Animator animator_rotor; |
| | | |
| | | RaycastHit2D[] groundHits = new RaycastHit2D[5]; |
| | | RaycastHit2D[] wallHits = new RaycastHit2D[5]; |
| | | RaycastHit2D[] ceilingHits = new RaycastHit2D[5]; |
| | | public RaycastHit2D[] groundHits = new RaycastHit2D[5]; |
| | | public RaycastHit2D[] wallHits = new RaycastHit2D[5]; |
| | | public RaycastHit2D[] ceilingHits = new RaycastHit2D[5]; |
| | | |
| | | [SerializeField] |
| | | private bool _isGrounded; |
| | |
| | | set |
| | | { |
| | | _isGrounded = value; |
| | | animator.SetBool(AnimationStrings.Player.IsGrounded, value); |
| | | animator_rotor.SetBool(AnimationStrings.Player.IsGrounded, value); |
| | | animator.SetBool(AnimationStrings.Player.isGrounded, value); |
| | | animator_rotor.SetBool(AnimationStrings.Player.isGrounded, value); |
| | | } |
| | | } |
| | | |
| | | [SerializeField] |
| | | private bool _isAtWall; |
| | | private bool _isAtWallLeft; |
| | | |
| | | public bool IsAtWall |
| | | public bool IsAtWallLeft |
| | | { |
| | | get { return _isAtWall; } |
| | | get { return _isAtWallLeft; } |
| | | set |
| | | { |
| | | _isAtWall = value; |
| | | animator.SetBool(AnimationStrings.Player.IsAtWall, value); |
| | | animator_rotor.SetBool(AnimationStrings.Player.IsAtWall, value); |
| | | _isAtWallLeft = value; |
| | | animator.SetBool(AnimationStrings.Player.isAtWall, value); |
| | | animator_rotor.SetBool(AnimationStrings.Player.isAtWall, value); |
| | | } |
| | | } |
| | | [SerializeField] |
| | | private bool _isAtWallRight; |
| | | |
| | | public bool IsAtWallRight |
| | | { |
| | | get { return _isAtWallRight; } |
| | | set |
| | | { |
| | | _isAtWallRight = value; |
| | | animator.SetBool(AnimationStrings.Player.isAtWall, value); |
| | | animator_rotor.SetBool(AnimationStrings.Player.isAtWall, value); |
| | | } |
| | | } |
| | | |
| | |
| | | set |
| | | { |
| | | _isAtCeiling = value; |
| | | animator.SetBool(AnimationStrings.Player.IsAtCeiling, value); |
| | | animator_rotor.SetBool(AnimationStrings.Player.IsAtCeiling, value); |
| | | animator.SetBool(AnimationStrings.Player.isAtCeiling, value); |
| | | animator_rotor.SetBool(AnimationStrings.Player.isAtCeiling, value); |
| | | } |
| | | } |
| | | |
| | | |
| | | public bool IsAtWall |
| | | { |
| | | get |
| | | { |
| | | return IsAtWallLeft || IsAtWallRight; |
| | | } |
| | | } |
| | | |
| | | void Awake() |
| | | { |
| | |
| | | void FixedUpdate() |
| | | { |
| | | IsGrounded = touchingCol.Cast(Vector2.down, castFilter, groundHits, groundDistance) > 0; |
| | | IsAtWall = touchingCol.Cast(wallCheckDirection, castFilter, wallHits, wallDistance) > 0; |
| | | IsAtWallLeft = touchingCol.Cast(Vector2.left, castFilter, wallHits, wallDistance) > 0; |
| | | IsAtWallRight = touchingCol.Cast(Vector2.right, castFilter, wallHits, wallDistance) > 0; |
| | | IsAtCeiling = touchingCol.Cast(Vector2.up, castFilter, ceilingHits, ceilingDistance) > 0; |
| | | } |
| | | |
| | | //TODO getTileForDrillHere? |
| | | } |