From 474252bdfe25f5491679e181938fe2ea850132f4 Mon Sep 17 00:00:00 2001 From: miepzerino <o.skotnik@gmail.com> Date: Mon, 18 Dec 2023 01:13:40 +0000 Subject: [PATCH] Added pausing + menu, Overhauled soundmanager + menu handling --- Assets/Scripts/PlayerController.cs | 95 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 69 insertions(+), 26 deletions(-) diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index 3381b36..028469a 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -8,7 +8,16 @@ { public float moveSpeed = 5f; public float maxFallSpeed = -20f; + public float maxFallSpeedDamge = -10f; + private float maxFallSpeedCurrent = 0f; Vector2 moveInput; + + Rigidbody2D rb; + Animator animator; + Animator animator_rotor; + public GameObject rotorGO; + TouchingDirections touchingDirections; + Damageable health; [SerializeField] private bool _isMoving; @@ -18,7 +27,7 @@ private set { _isMoving = value; - animator.SetBool(AnimationStrings.Player.IsMoving, value); + animator.SetBool(AnimationStrings.Player.isMoving, value); } } @@ -30,8 +39,8 @@ private set { _isFlying = value; - animator.SetBool(AnimationStrings.Player.IsFlying, value); - rotorSprite.enabled = value; + animator.SetBool(AnimationStrings.Player.isFlying, value); + animator_rotor.SetBool(AnimationStrings.Player.isFlying, value); } } @@ -40,37 +49,33 @@ public bool IsFacingRight { get { return _isFacingRight; } - set { + set + { if (_isFacingRight != value) { transform.localScale *= new Vector2(-1, 1); } - _isFacingRight = value; } + _isFacingRight = value; + } + } + + public bool CanMove + { + get + { + return animator.GetBool(AnimationStrings.canMove) && !PauseMenu.GameIsPaused; + } } - Rigidbody2D rb; - Animator animator; - public GameObject rotorGO; - SpriteRenderer rotorSprite; private void Awake() { rb = GetComponent<Rigidbody2D>(); animator = GetComponent<Animator>(); - rotorSprite = rotorGO.GetComponent<SpriteRenderer>(); - } - - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - + animator_rotor = rotorGO.GetComponent<Animator>(); + touchingDirections = GetComponent<TouchingDirections>(); + health = GetComponent<Damageable>(); } private void FixedUpdate() @@ -101,17 +106,45 @@ rb.velocity = new Vector2(moveInput.x * moveSpeed, (moveInput.y * moveSpeed)); } } + if (touchingDirections.IsGrounded) + { + if (maxFallSpeedCurrent < maxFallSpeedDamge) + { + TakeFallDamage(Math.Abs((int)maxFallSpeedCurrent)); + maxFallSpeedCurrent = 0; + } + } + else if (IsFlying) + { + maxFallSpeedCurrent = rb.velocity.y; + } + else + { + if (maxFallSpeedCurrent > rb.velocity.y) + { + maxFallSpeedCurrent = rb.velocity.y; + } + } } public void OnMove(InputAction.CallbackContext context) { - moveInput = context.ReadValue<Vector2>(); + if (CanMove) + { + moveInput = context.ReadValue<Vector2>(); - IsMoving = moveInput.x != 0; - IsFlying = moveInput.y != 0; + IsMoving = moveInput.x != 0; - SetFacingDirection(moveInput); + IsFlying = (moveInput.y != 0); + SetFacingDirection(moveInput); + } + else + { + IsMoving = false; + IsFlying = false; + moveInput = Vector2.zero; + } } private void SetFacingDirection(Vector2 moveInput) @@ -126,6 +159,16 @@ } } + public void TakeDamage(int damage) + { + health.Hit(damage); + } + + public void TakeFallDamage(int fallDamage) + { + TakeDamage(fallDamage); + } + //public void OnRun(InputAction.CallbackContext context) //{ // if (context.started) // Button pressed -- Gitblit v1.9.3