Guest User

Untitled

a guest
Sep 1st, 2021
57
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5.  
  6. public class PlayerController : MonoBehaviour
  7. {
  8.     public float MovementSpeed = 5;
  9.     public float SprintSpeed = 7;
  10.     public float JumpForce = 5;
  11.     public float minJumpForce = 3;
  12.     public float fillStamina = 1f;
  13.     public float MaxStamina = 10000;
  14.     public float Stamina = 10000;
  15.     public Slider staminaBar;
  16.     //public GameObject lowTxt;
  17.  
  18.     Rigidbody2D body;
  19.  
  20.     float horizontal;
  21.     float vertical;
  22.  
  23.     private Rigidbody2D _rigidbody;
  24.     private bool Sprint = false;
  25.     //private bool ActivateLowStamina = false;
  26.     //private bool LowStamina = false;
  27.  
  28.     public static PlayerController instance;
  29.  
  30.     private void Awake()
  31.     {
  32.         instance = this;
  33.     }
  34.  
  35.     void Start()
  36.     {
  37.         _rigidbody = GetComponent<Rigidbody2D>();
  38.         //body = GetComponent<Rigidbody2D>();
  39.         Stamina = MaxStamina;
  40.         staminaBar.maxValue = MaxStamina;
  41.         staminaBar.value = MaxStamina;
  42.         //ActivateLowStamina = false;
  43.         //lowTxt.gameObject.SetActive(false);
  44.     }
  45.  
  46.     void Update()
  47.     {
  48.         horizontal = Input.GetAxisRaw("Horizontal");
  49.         vertical = Input.GetAxisRaw("Vertical");
  50.         //transform.rotation = Quaternion.identity;
  51.         staminaBar.value = Stamina;
  52.         //var movement = Input.GetAxis("Horizontal");
  53.  
  54.        
  55.  
  56.         if (Input.GetKey("left shift"))
  57.         {
  58.             Sprint = true;
  59.         }
  60.  
  61.         //if(Stamina < 100)
  62.         //{
  63.         //    ActivateLowStamina = false;
  64.         //}
  65.         //else
  66.         //{
  67.         //    ActivateLowStamina = true;
  68.         //}
  69.  
  70.         //if(ActivateLowStamina == true)
  71.         //        {
  72.         //            lowTxt.gameObject.SetActive(true);
  73.         //        }
  74.  
  75.  
  76.        
  77.  
  78.  
  79.  
  80.         if (Mathf.Abs(_rigidbody.velocity.x) == 0f && Stamina < MaxStamina && Mathf.Abs(_rigidbody.velocity.y) == 0f)
  81.         {
  82.             Stamina += fillStamina;
  83.         }
  84.        
  85.        
  86.  
  87.  
  88.         if (Input.GetButtonDown("Jump") && Mathf.Abs(_rigidbody.velocity.y) < 0.001f) {
  89.             if(Stamina > 10)
  90.             {
  91.             _rigidbody.AddForce(new Vector2(0, JumpForce), ForceMode2D.Impulse);
  92.             //_rigidbody.AddForce(Vector2.up * JumpForce);
  93.                 UseStamina(1000);
  94.             }
  95.             else
  96.             {
  97.                 _rigidbody.AddForce(new Vector2(0, minJumpForce), ForceMode2D.Impulse);
  98.                 //_rigidbody.AddForce(Vector2.up * JumpForce);
  99.                 UseStamina(500);
  100.             }
  101.            
  102.         }
  103.        
  104.     }
  105.  
  106.     public void UseStamina(float amount)
  107.     {
  108.  
  109.             if (Stamina - amount >= 0)
  110.             {
  111.                 Stamina -= amount;
  112.             }
  113.  
  114.        
  115.  
  116.     }
  117.  
  118.     private void FixedUpdate()
  119.     {
  120.         //body.velocity = new Vector2(horizontal * MovementSpeed, vertical * MovementSpeed);
  121.         var movement = Input.GetAxis("Horizontal");
  122.         if (Sprint == true && Stamina > 10)
  123.         {
  124.             //_rigidbody.velocity = new Vector2(horizontal * MovementSpeed, vertical * SprintSpeed);
  125.             transform.position += new Vector3(movement, 0, 0) * Time.deltaTime * SprintSpeed;
  126.             UseStamina(1);
  127.             Sprint = false;
  128.             //if(Mathf.Abs(_rigidbody.velocity.x) == 0f)
  129.             //{
  130.  
  131.             //}
  132.             //else
  133.             //{
  134.             //Stamina -= 1;
  135.             //}
  136.  
  137.         }
  138.         else
  139.         {
  140.             if (Stamina > 10)
  141.             {
  142.                 transform.position += new Vector3(movement, 0, 0) * Time.deltaTime * MovementSpeed;
  143.                 //_rigidbody.velocity = new Vector2(horizontal * MovementSpeed, vertical * MovementSpeed);
  144.                 UseStamina(0.1f);
  145.             }
  146.             else
  147.             {
  148.                 transform.position += new Vector3(movement, 0, 0) * Time.deltaTime * 3f;
  149.             }
  150.  
  151.         }
  152.     }
  153. }
  154.  
RAW Paste Data