52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			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();
 | |
|     }
 | |
| } |