概要
目次
今回は画面左上にあるライフと金額UIを実装します。
下gifアニメはタレットの強化で金額が減って、敵を撃退できなくライフが減っている様子です。
開発環境
IDE:Rider
Unity:2020.3.42(LTS)
OS:Windows10
UnityEditor上の設定
Canvas以下にCoinPanelを作成
UIManagerスクリプトにLifes-TMPとCoins-TMPをアタッチします。
実装のポイント
下図はCurrencySytemから金額情報を取得するときの流れです。
下図はLevelManagerからライフ情報を取得するときの流れです。
コード部分
UIManager
UIManager.cs
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class UIManager : Singleton<UIManager>
{
[Header("Panels")]
[SerializeField] private GameObject turretShopPanel;
[SerializeField] private GameObject nodeUIPanel;
[SerializeField] private TextMeshProUGUI upgradeText;
[SerializeField] private TextMeshProUGUI sellText;
[SerializeField] private TextMeshProUGUI turretLevelText;
+ [SerializeField] private TextMeshProUGUI totalCoinsText;
+ [SerializeField] private TextMeshProUGUI lifesText;
public TurretUpgrade TurretUpgrade { get; set; }
private Node _currentNodeSelected;
private void Update()
{
+ totalCoinsText.text = CurrencySystem.Instance.TotalCoins.ToString();
+ lifesText.text = LevelManager.Instance.TotalLives.ToString();
}
// 中略
}
参考
Section8 49
github コミット分