47 lines
1.3 KiB
C#
47 lines
1.3 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;
|
|
|
|
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()
|
|
{
|
|
float progress = (float)(m_iMax - m_iPos) / (m_iMax - m_iMin);
|
|
//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;
|
|
}
|
|
}
|
|
}
|