Files
2026-04-17 17:45:02 +07:00

72 lines
2.0 KiB
C#

using System;
using UnityEngine;
using UnityEngine.UI;
namespace BrewMonster
{
public class AUIClockIcon : MonoBehaviour
{
[SerializeField] private Image m_ClockIcon;
[SerializeField] private int m_iMin;
[SerializeField] private int m_iMax;
[SerializeField] private int m_iPos;
[SerializeField] private int m_skillGroupIndex = -1;
private Color m_dwCol;
public Image GetClockIcon() => m_ClockIcon;
public void SetProgressPos(int progress)
{
m_iPos = Math.Clamp(progress, m_iMin, m_iMax);
UpdateClockIcon();
}
public void SetProgressRange(int min, int max)
{
if (min >= max)
{
BMLogger.LogError("AUIClockIcon SetProgressRange min should be greater than max ");
return;
}
m_iMin = min;
m_iMax = max;
m_iPos = Math.Clamp(m_iPos, m_iMin, m_iMax);
}
private void UpdateClockIcon()
{
if (m_ClockIcon == null)
return;
int range = m_iMax - m_iMin;
if (range <= 0)
{
m_ClockIcon.fillAmount = 0f;
return;
}
float progress = (float)(m_iMax - m_iPos) / range;
//BMLogger.LogError($"UpdateClockIcon progress:{progress}, m_iMax:{m_iMax}, m_iPos:{m_iPos}, m_iMin:{m_iMin}" );
m_ClockIcon.fillAmount = progress;
}
public void SetColor(Color dwCol)
{
m_dwCol = dwCol;
if (m_ClockIcon != null)
{
m_ClockIcon.color = m_dwCol;
}
}
public void BindSkillGroup(int groupIndex)
{
m_skillGroupIndex = groupIndex;
}
public int GetBoundSkillGroup() => m_skillGroupIndex;
public void ClearSkillGroupBinding()
{
m_skillGroupIndex = -1;
}
}
}