Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityStandardAssets.Characters.FirstPerson;
  6.  
  7. public class PlayerVitals : MonoBehaviour
  8. {
  9. public Slider healtSlider;
  10. public int maxHealth;
  11. public int healthFallRate;
  12.  
  13. public Slider thirstSlider;
  14. public int maxThirst;
  15. public int thirstFallRate;
  16.  
  17.  
  18. public Slider hungerSlider;
  19. public int maxHunger;
  20. public int hungerFallRate;
  21.  
  22. public Slider staminaSlider;
  23. public int maxStamina;
  24. private int staminaFallRate;
  25. public int staminaFallMult;
  26. private int staminaRegainRate;
  27. public int staminaRegainMult;
  28.  
  29. private CharacterController charController;
  30. private FirstPersonController playerController;
  31.  
  32.  
  33. void Start()
  34. {
  35. healtSlider.maxValue = maxHealth;
  36. healtSlider.value = maxHealth;
  37.  
  38. thirstSlider.maxValue = maxThirst;
  39. thirstSlider.value = maxThirst;
  40.  
  41. hungerSlider.maxValue = maxHunger;
  42. hungerSlider.value = maxHunger;
  43.  
  44. staminaSlider.maxValue = maxStamina;
  45. staminaSlider.value = maxStamina;
  46.  
  47. staminaFallRate = 1;
  48. staminaRegainRate = 1;
  49.  
  50. charController = GetComponent<CharacterController>();
  51. playerController = GetComponent<FirstPersonController >();
  52. }
  53.  
  54. void Update()
  55. {
  56. //controllo vita
  57. if (hungerSlider.value <= 0 && (thirstSlider.value <= 0))
  58. {
  59. healtSlider.value -= Time.deltaTime / healthFallRate * 2;
  60. }
  61. else if (hungerSlider.value <= 0 || thirstSlider.value <= 0)
  62. {
  63. healtSlider.value -= Time.deltaTime / healthFallRate ;
  64.  
  65. }
  66.  
  67. if (healtSlider.value <= 0)
  68. {
  69. DeathCharater();
  70. }
  71.  
  72. //controllo fame
  73. if (hungerSlider.value >= 0)
  74. {
  75. hungerSlider.value -= Time.deltaTime / hungerFallRate;
  76. }
  77. else if (hungerSlider.value <= 0)
  78. {
  79. hungerSlider.value = 0;
  80. }
  81. else if (hungerSlider.value >= maxHunger)
  82. {
  83. hungerSlider.value = maxHunger;
  84. }
  85.  
  86. // controllo sete
  87. if (thirstSlider.value >= 0)
  88. {
  89. thirstSlider.value -= Time.deltaTime / thirstFallRate;
  90. }
  91. else if (thirstSlider.value <= 0)
  92. {
  93. thirstSlider.value = 0;
  94. }
  95. else if (thirstSlider.value >= maxThirst)
  96. {
  97. thirstSlider.value = maxThirst;
  98. }
  99.  
  100. // controllo stamina
  101. if (charController.velocity.magnitude>0 && Input.GetKey(KeyCode.LeftShift))
  102. {
  103. staminaSlider.value -= Time.deltaTime / staminaFallRate * staminaFallMult;
  104. }
  105. else
  106. {
  107. staminaSlider.value += Time.deltaTime / staminaRegainRate * staminaRegainMult;
  108. }
  109. if (staminaSlider.value >= maxStamina)
  110. {
  111. staminaSlider.value = maxStamina;
  112. }
  113. else if (staminaSlider.value <= 0)
  114. {
  115. staminaSlider.value = 0;
  116. playerController.m_RunSpeed = playerController.m_WalkSpeed;
  117. }
  118. else if (staminaSlider.value >= 0)
  119. {
  120. playerController.m_RunSpeed = playerController.m_RunSpeedNorm;
  121. }
  122. }
  123.  
  124. void DeathCharater()
  125. {
  126. //fai qualcosa se il charater ha la salute <= 0
  127. }
  128.  
  129.  
  130.  
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement