mergemilitary/Assets/MMOModule/Controls/Scripts/ResBar.cs

52 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ResBar : MonoBehaviour
{
public Action DelResRefresh;
[SerializeField] ResShower mResShower;
[SerializeField] Image mImgResIcon;
[SerializeField] Sprite mSprNormal;
[SerializeField] Sprite mSprRobux;
[SerializeField] int mFlyDelta = 1;
[SerializeField] int mFlyMin = 1;
[SerializeField] int mFlyMax = 20;
public void InitBar(int pRes, bool pShowRobux = true, Camera pMainCam = null, Camera pUICam = null)
{
mResShower.DelResRefresh = NotifyResRefresh;
mResShower.Init(pMainCam, pUICam);
RefreshRes(pRes);
mImgResIcon.sprite = pShowRobux ? mSprRobux : mSprNormal;
mImgResIcon.SetNativeSize();
}
public void FlyRes(Vector3 pPos, int pAdd, int pFinal)
{
mResShower.FlyRes(pPos, Mathf.Clamp(pAdd, mFlyMin, mFlyMax), pAdd / mFlyDelta, pFinal);
}
public void PopRes(int pDelta, int pFinalDiamond)
{
mResShower.PopResChange(pDelta);
RefreshRes(pFinalDiamond);
}
public void RefreshRes(int pDiamond)
{
mResShower.RefreshRes(pDiamond);
}
private void NotifyResRefresh()
{
DelResRefresh?.Invoke();
}
}