public class BarScript : MonoBehaviour
{
[SerializeField]
private float fillAmount;
[SerializeField]
private Image content;
[SerializeField]
private float lerpSpeed;//๋ณด๊ฐ„์†๋„,์ฑ„์šฐ๋Š” ์†๋„
[SerializeField]
private Color fullColor;
[SerializeField]
private Color lowColor;
[SerializeField]
private bool lerpColors;
public float MaxValue { get; set; }
/*
getter/setter ์‚ฌ์šฉ์ด์œ =๋ฐ์ดํ„ฐ ๋ณดํ˜ธ์™€ ํ• ๋‹น๋œ ๊ฐ’์ด ์–ด๋–ค ๊ธฐ์ค€์— ์žˆ์–ด์•ผํ• ๋•Œ setter๋ฅผ ์‚ฌ์šฉํ•˜๊ณ 
getter๋Š” ๊ทธ์— ๋”ฐ๋ผ ํ•„์—ฐ์ ์œผ๋กœ ๋”ฐ๋ผ์˜ด(ex: 1๊ณผ 10์‚ฌ์ด์˜ ์ˆซ์ž๋งŒ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์‹ถ์„๋•Œ, 1~10์กฐ๊ฑด ๋„ฃ๊ณ , ๊ทธ ์™ธ์˜ ์ˆซ์ž๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌํ•ด๋ฒ„๋ฆผ
*/
public float Value//setter ํ•จ์ˆ˜๋ฅผ ์ฑ„์›Œ๋„ฃ์Œ, getter ์ฑ„์›Œ๋„ฃ์€ ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์˜ด
{
set
{
fillAmount = Map(value, 0, MaxValue, 0, 1);//value๋Š” stat์—์„œ ๋ฐ›์•„์˜ด
}
}
// Start is called before the first frame update
void Start()
{
if(lerpColors)
{
content.color = fullColor;
}
}
// Update is called once per frame
void Update()
{
HandleBar();
}
private void HandleBar()
{
if(fillAmount !=content.fillAmount)
{
content.fillAmount = Mathf.Lerp(content.fillAmount,fillAmount,Time.deltaTime*lerpSpeed);//Map(53,0,100,0,1);//fillAmount;// ex:(53,0,100,0,1)=53%,Lerp speed๋Š” HP๋ฐ” ์†๋„ ์กฐ์ ˆ
}
if (lerpColors)
{
content.color = Color.Lerp(lowColor, fullColor, fillAmount);
}
}
/// <summary>
/// Hp bar
/// </summary>
/// <param name="value">ํ˜„์žฌ ์ฒด๋ ฅ</param>
/// <param name="inMin">Hp_Bar_์ตœ์†Ÿ๊ฐ’</param>
/// <param name="inMax">HP_Bar_์ตœ๋Œ€๊ฐ’(์ตœ๋Œ€ ์ฒด๋ ฅ)</param>
/// <param name="outMin">๋น„์œจ</param>
/// <param name="outMax">๋น„์œจ</param>
/// <returns></returns>
private float Map(float value, float inMin,float inMax, float outMin, float outMax)
{
return (value - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
//์ฒด๋ ฅ ๋น„์œจ์ œ.
}
}

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‚ฎ์€ ์ฒด๋ ฅ ๋น„์œจ๋กœ ๊ฐˆ์ˆ˜๋ก ์œ ๋‹ˆํ‹ฐ ์—”์ง„์ƒ์—์„œ ์ง€์ •ํ•œ ์ƒ‰๊น” low Color๋ž‘ full Color๋ž‘

์ฒด๋ ฅ ๋น„์œจ์— ๋”ฐ๋ผ์„œ Lerp ์ฆ‰ ๋ณด๊ฐ„ ํ•ด์„œ ์ƒ‰๊น”์ด ๋ฐ”๊ปด์•ผํ• ํ…๋ฐ

๋ฐ”๋€Œ์ง€ ์•Š๋„ค. Lerp bool์„ ์ฒดํฌํ•ด๋„ ์•ˆ๋จ.

๋ญ๊ฐ€ ๋ฌธ์ œ์ง€