// Use this for initialization void Awake() { script_playerAction = GetComponent <PlayerActionScript>(); bC_collider = this.GetComponent <BoxCollider>(); pA_playerAction = e_PlayerAction.Falling; b_isFacingRight = true; InitializeNullVariables(); }
private void ApplyGravity() { //if (CheckPlayerInAir()) //{ v2_playerVelocity.y -= f_gravity * Time.deltaTime; //} if (v2_playerVelocity.y < 0) { pA_playerAction = e_PlayerAction.Falling; } CheckVerticalCollision(); CheckHorizontalCollision(); }
private void CheckVerticalCollision() { Vector2 verticalDirection = Vector2.up; if (pA_playerAction != e_PlayerAction.Jumping) { verticalDirection = Vector2.down; } Vector2 startPoint = new Vector2(transform.position.x - r_box.width / 2, transform.position.y); // + r_box.center.y); Vector2 endPoint = new Vector2(transform.position.x + r_box.width / 2, transform.position.y); // + r_box.center.y); float distance = r_box.height / 2 + (pA_playerAction == e_PlayerAction.Standing ? i_margin : Mathf.Abs(v2_playerVelocity.y * Time.deltaTime)); bool verticalConnected = CheckCollision(i_verticalRays, startPoint, endPoint, verticalDirection, distance, false, lM_mask); if (verticalConnected) { pA_playerAction = e_PlayerAction.Standing; transform.Translate(Vector2.down * (rH_hitInfo.distance - r_box.height / 2.0f + 0.001f)); v2_playerVelocity.y = 0; } if (!verticalConnected && pA_playerAction == e_PlayerAction.Standing) { pA_playerAction = e_PlayerAction.Falling; } bool weaponConnected = CheckCollision(i_verticalRays, startPoint, endPoint, verticalDirection, distance, false, lM_mask2); if (weaponConnected) { script_playerAction.SetWeaponNearby = true; script_playerAction.SetWeaponToEquip = rH_hitInfo.collider.gameObject; } }
public void SetActionToJumping() { pA_playerAction = e_PlayerAction.Jumping; }