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(); } }