62 lines
2.0 KiB
C#
62 lines
2.0 KiB
C#
|
/*
|
|||
|
zlib License
|
|||
|
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (C) 2022 Lucas
|
|||
|
|
|||
|
This software is provided 'as-is', without any express or implied
|
|||
|
warranty. In no event will the authors be held liable for any damages
|
|||
|
arising from the use of this software.
|
|||
|
|
|||
|
Permission is granted to anyone to use this software for any purpose,
|
|||
|
including commercial applications, and to alter it and redistribute it
|
|||
|
freely, subject to the following restrictions:
|
|||
|
|
|||
|
1.The origin of this software must not be misrepresented; you must not
|
|||
|
claim that you wrote the original software. If you use this software
|
|||
|
in a product, an acknowledgment in the product documentation would be
|
|||
|
appreciated but is not required.
|
|||
|
2. Altered source versions must be plainly marked as such, and must not be
|
|||
|
misrepresented as being the original software.
|
|||
|
3. This notice may not be removed or altered from any source distribution.
|
|||
|
*/
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.SceneManagement;
|
|||
|
|
|||
|
public class HealthController : MonoBehaviour
|
|||
|
{
|
|||
|
// Start is called before the first frame update
|
|||
|
private int health;
|
|||
|
public int initialHealth;
|
|||
|
public GameObject healthBarPrefab;
|
|||
|
private GameObject healthBar;
|
|||
|
private HealthBarController controller;
|
|||
|
void Start()
|
|||
|
{
|
|||
|
health = initialHealth;
|
|||
|
healthBar = Instantiate(healthBarPrefab);
|
|||
|
controller = healthBar.GetComponent<HealthBarController>();
|
|||
|
controller.maxHealthValue = initialHealth;
|
|||
|
healthBar.transform.SetParent(GameObject.Find("Canvas").transform, false);
|
|||
|
healthBar.SetActive(true);
|
|||
|
}
|
|||
|
|
|||
|
// Update is called once per frame
|
|||
|
|
|||
|
public void IncreaseHealth()
|
|||
|
{
|
|||
|
if (health < initialHealth)
|
|||
|
controller.SetHealth(++health);
|
|||
|
}
|
|||
|
|
|||
|
public void DecreaseHealth()
|
|||
|
{
|
|||
|
controller.SetHealth(--health);
|
|||
|
if (health <= 0)
|
|||
|
{
|
|||
|
SceneManager.LoadScene("StartupScene");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|