111 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections;
 | |
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| using UnityEngine.UI;
 | |
| 
 | |
| public class PanelTopBar : BasePanel
 | |
| {
 | |
|     public Action DelDiamondRefresh;
 | |
|     public Action DelCoinRefresh;
 | |
| 
 | |
|     //[SerializeField] RectTransform mRctDiamond;
 | |
|     //[SerializeField] RectTransform mRctCoin;
 | |
|     [SerializeField] ResShower mDiamondShower;
 | |
|     [SerializeField] ResShower mCoinShower;
 | |
| 
 | |
|     [SerializeField] Image mImgDiamondIcon;
 | |
|     [SerializeField] Sprite mSprDiamondIcon;
 | |
|     [SerializeField] Sprite mSprRobuxIcon;
 | |
| 
 | |
|     [SerializeField] GameObject mGobBP;
 | |
|     [SerializeField] Text mTxtPlayerBP;
 | |
|     [SerializeField] Text mTxtEnemyBP;
 | |
| 
 | |
|     private Image mImgDiamondBar;
 | |
| 
 | |
|     public override void OnOpen()
 | |
|     {
 | |
|         base.OnOpen();
 | |
| 
 | |
|         mCoinShower.DelResRefresh = NotifyCoinRefresh;
 | |
|         mCoinShower.Init();
 | |
|         RefreshCoin();
 | |
| 
 | |
|         //mRctDiamond.anchoredPosition = new Vector2(-(mRctCoin.sizeDelta.x + 55), mRctDiamond.anchoredPosition.y);
 | |
|         mDiamondShower.DelResRefresh = NotifyDiamondRefresh;
 | |
|         mDiamondShower.Init();
 | |
|         RefreshDiamond();
 | |
| 
 | |
|         ShowBP(SROptions.sIsBPShowed);
 | |
|     }
 | |
| 
 | |
|     public void RefreshResIcon(bool pIsRobux)
 | |
|     {
 | |
|         mImgDiamondIcon.sprite = pIsRobux ? mSprRobuxIcon : mSprDiamondIcon;
 | |
|         mImgDiamondIcon.SetNativeSize();
 | |
|     }
 | |
| 
 | |
|     public void FlyDiamond(Vector3 pPos, int pAdd)
 | |
|     {
 | |
|         if (pAdd > 0)
 | |
|         {
 | |
|             mDiamondShower.FlyRes(pPos, Mathf.Clamp(pAdd, 1, 20), pAdd, PlayerData.Instance.Diamond);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public void PopDiamond(int pDelta)
 | |
|     {
 | |
|         mDiamondShower.PopResChange(pDelta);
 | |
|         RefreshDiamond();
 | |
|     }
 | |
| 
 | |
|     public void RefreshDiamond()
 | |
|     {
 | |
|         mDiamondShower.RefreshRes(PlayerData.Instance.Diamond);
 | |
|     }
 | |
| 
 | |
|     public void FlyCoin(Vector3 pPos, int pAdd)
 | |
|     {
 | |
|         if (pAdd > 0)
 | |
|         {
 | |
|             mCoinShower.FlyRes(pPos, Mathf.Clamp(pAdd / 50, 3, 20), pAdd, PlayerData.Instance.Coin);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public void PopCoin(int pDelta)
 | |
|     {
 | |
|         mCoinShower.PopResChange(pDelta);
 | |
|         RefreshCoin();
 | |
|     }
 | |
| 
 | |
|     public void RefreshCoin()
 | |
|     {
 | |
|         mCoinShower.RefreshRes(PlayerData.Instance.Coin);
 | |
|     }
 | |
| 
 | |
|     private void NotifyDiamondRefresh()
 | |
|     {
 | |
|         DelDiamondRefresh?.Invoke();
 | |
|     }
 | |
| 
 | |
|     private void NotifyCoinRefresh()
 | |
|     {
 | |
|         DelCoinRefresh?.Invoke();
 | |
|     }
 | |
| 
 | |
|     public void ShowBP(bool pShow)
 | |
|     {
 | |
|         mGobBP.SetActive(pShow);
 | |
|     }
 | |
| 
 | |
|     public void SetPlayerBP(int pPlayerBP)
 | |
|     {
 | |
|         mTxtPlayerBP.text = "Player:" + pPlayerBP.ToString();
 | |
|     }
 | |
| 
 | |
|     public void SetEnemyBP(int pEnemyBP)
 | |
|     {
 | |
|         mTxtEnemyBP.text = "Enemy:" + pEnemyBP.ToString();
 | |
|     }
 | |
| } |