-
Notifications
You must be signed in to change notification settings - Fork 2
develop PowerUp
- 필요한 변수 선언
[SerializeField] GameObject[] mAccessory; // 가지고 있는 모든 Accessory GameObject
[SerializeField] GameObject mChargeObject; // 강화 구입 버튼이 담겨있는 GameObject
[SerializeField] GameObject mActiveObject; // 활성화/비활성화 Toggle이 담겨있는 GameObject
[SerializeField] Toggle mActiveToggle; // mActiveObject 안에 있는 Toggle
private float[] mUpgradeStat = new float[16] { 0.05f, 1, 0.1f, 0.1f, -0.025f, 0.05f, 0.1f, 0.15f, 1, 0.05f, 0.25f, 0.1f, 0.03f, 0.1f, 0.1f, 1 }; // 한번 강화시 올라가는 Stat의 양
- 강화 버튼
public void Charge()
{
if(UserInfo.instance.UserDataSet.Gold > UserInfo.instance.UserDataSet.NowPowerUpCash[NowAccessoryIndex] && UserInfo.instance.UserDataSet.PowerUpLevel[NowAccessoryIndex] != mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryMaxLevel)
{ // 가지고 있는 Gold가 해당 Accessory 강화에 드는 돈보다 많고 강화가 MaxLevel까지 안됐을 때
UserInfo.instance.ConsumeGold(-UserInfo.instance.UserDataSet.NowPowerUpCash[NowAccessoryIndex]); // 골드를 소비한다.
for (int i = 0; i < mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryMaxLevel; i++)
{ // 해당하는 Level에 맞는 체크 표시, 현재 Level 저장, 스텟 증가
if (UserInfo.instance.UserDataSet.PowerUpLevel[NowAccessoryIndex] == i)
{
mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryToggle[i].isOn = true;
UserInfo.instance.UpdatePowerUpLevel(NowAccessoryIndex);
UserInfo.instance.UpdatePowerUpStat(NowAccessoryIndex, mUpgradeStat[NowAccessoryIndex]);
break;
}
}
for (int i = 0; i < 16; i++)
{
UserInfo.instance.UpdatePowerUpCash(i); // 한번 강화시 다른 모든 강화비용이 증가한다.
}
mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryCash.text = UserInfo.instance.UserDataSet.NowPowerUpCash[NowAccessoryIndex].ToString(); // 증가한 강화 비용 출력
}
if(UserInfo.instance.UserDataSet.PowerUpLevel[NowAccessoryIndex] == mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryMaxLevel)
{ // 해당 Accessory Level이 MaxLevel이면 활성화/비활성화 버튼을 생성하고 구입 버튼을 제거한다.
mActiveToggle.GetComponent<Toggle>().isOn = UserInfo.instance.UserDataSet.BPowerUpActive[NowAccessoryIndex]; // 저장된 활성화/비활성화 정보를 가져와 출력
mChargeObject.SetActive(false);
mActiveObject.SetActive(true);
}
- 환불 버튼
public void Refund()
{
for (int i = 0; i < 16; i++)
{ // 모든 Accessory를 순회하면서 Level당 체크표시, 현재 Level, Stat, 강화비용, 활성화/비활성화를 모두 초기화한다.
for (int j = 0; j < mAccessory[i].GetComponent<PowerUpInfo>().AccessoryMaxLevel; j++)
{
mAccessory[i].GetComponent<PowerUpInfo>().AccessoryToggle[j].isOn = false;
}
UserInfo.instance.RefundPowerUpLevel(i);
UserInfo.instance.RefundPowerUpStat(i);
UserInfo.instance.RefundPowerUpCash(i);
UserInfo.instance.RefundPowerUpActive(i);
}
UserInfo.instance.ConsumeGold(UserInfo.instance.UserDataSet.ConsumedGold); // 사용한 골드를 환불한다.
UserInfo.instance.RefundGold(); // 사용한 골드를 초기화 한다.
mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryCash.text = UserInfo.instance.UserDataSet.NowPowerUpCash[NowAccessoryIndex].ToString(); // 초기화한 강화 비용을 출력
mChargeObject.SetActive(true); // 구입 버튼 생성
mActiveObject.SetActive(false); // 활성화/비활성화 Toggle 제거
}
- 활성화/비활성화 버튼
public void StatActive()
{
if(mActiveToggle.isOn)
{ // 활성화 상태면
UserInfo.instance.UpdatePowerUpActive(NowAccessoryIndex, true); // 활성화 상태를 저장한다.
UserInfo.instance.UserDataSet.PowerUpStat[NowAccessoryIndex] = UserInfo.instance.UserDataSet.PowerUpMaxstat[NowAccessoryIndex]; // 활성화 Toggle이면 이미 MaxLevel이니 Stat에 최대 Stat을 적용시킨다.
}
else
{ // 비활성화 상태면
UserInfo.instance.UpdatePowerUpActive(NowAccessoryIndex, false); // 비활성화 상태를 저장한다.
UserInfo.instance.UserDataSet.PowerUpStat[NowAccessoryIndex] = 0; // 현재 Stat을 0으로 바꿔서 비활성화 한다.
}
}
- 필요한 변수 선언
public TMP_Text AccessoryCash; // 강화 비용 변수
public List<Toggle> AccessoryToggle; // 해당 Accessory의 강화 표시 Toggle
public int AccessoryMaxLevel; // 해당 Accessory의 최대 Level
[SerializeField] int mAccessoryIndex; // 현재 Accessory의 Index로 각 Accessory를 구분한다.
[SerializeField] GameObject mContext; // Accessory을 Child로 가지고 있는 Parent Component
[SerializeField] GameObject mExplainBG; // 해당 아이템을 설명할 Image, Name, Explain, ChargeObject, ActiveObject을 담고 있는 Parent Component
private Image mThisAccessoryIamge; // 해당 Accessory의 Image
private TMP_Text mThisAccessoryName; // 해당 Accessory의 Name
private Image mAccessoryImage; // Explain의 AccessoryImage를 구성하는 ExplainBG의 Child인 Image Component
private TMP_Text mAccessoryName; // Explain의 AccessoryName를 구성하는 ExplainBG의 Child인 Image Component
private TMP_Text mAccessoryExplain; // Explain의 AccessoryExplain를 구성하는 ExplainBG의 Child인 Image Component
private Button mChargeButton; // Explain의 강화 버튼
private GameObject mChargeObject; // Explain에서 강화 버튼과 해당 강화 비용을 출력하는 Object를 가지고 있는 GameObject
private GameObject mActiveObject; // Explain에서 활성화/비활성화 Toggle Object를 가지고 있는 GameObject
private PowerUpInfoData mInfoData; // Json파일에서 받아올 정보를 저장하는 변수
private string mExplain; // 해당 Accessory의 Explain
private void Awake() // Inspector창에서 하나하나 Object를 넣어주는 일을 줄이기 위한 Find 기능
{
Transform accessory = mContext.transform.GetChild(mAccessoryIndex - 1); // Parent인 Context의 Child 중 해당 Index를 통해 찾으면 해당하는 Accessory을 찾을 수 있다.
mThisAccessoryName = accessory.transform.GetChild(0).GetComponent<TextMeshProUGUI>(); // Transform accessory에서 첫 번째 Child가 Name이다.
mThisAccessoryIamge = accessory.transform.GetChild(1).GetComponent<Image>(); // 두 번째가 Child가 Image다.
mAccessoryImage = mExplainBG.transform.Find("AccessoryImage").GetComponent<Image>(); // ExplainBG의 Child에서 필요한 Component를 Find한다.
mAccessoryName = mExplainBG.transform.Find("AccessoryName").GetComponent<TextMeshProUGUI>(); // ExplainBG의 Child에서 필요한 Component를 Find한다.
mAccessoryExplain = mExplainBG.transform.Find("AccessoryExplain").GetComponent<TextMeshProUGUI>(); // ExplainBG의 Child에서 필요한 Component를 Find한다.
mChargeObject = mExplainBG.transform.Find("ChargeObject").gameObject; // ExplainBG의 Child에서 필요한 Component를 Find한다.
mActiveObject = mExplainBG.transform.Find("ActiveObject").gameObject; // ExplainBG의 Child에서 필요한 Component를 Find한다.
mChargeButton = mChargeObject.transform.Find("ChargeButton").GetComponent<Button>(); // ChargeObject에서 구매 버튼을 찾는다.
AccessoryCash = mChargeObject.transform.Find("Charge").GetComponent<TextMeshProUGUI>(); // ChargeObject에서 강화 비용 출력하는 Text Object를 찾는다.
for(int i = 2; i < accessory.transform.childCount; i++)
{ // Transform accessory 에서 세 번째부터 나머지까지 Level을 표시하는 Toggle이다.
AccessoryToggle.Add(accessory.transform.GetChild(i).GetComponent<Toggle>());
}
if (UserInfo.instance.UserDataSet.PowerUpLevel[0] == 5)
{ // 초기 표시되는 Explain창이 Context의 첫번째 Child라서 그 Object가 MaxLevel이라면
mActiveObject.transform.Find("InGameActiveToggle").GetComponent<Toggle>().isOn = UserInfo.instance.UserDataSet.BPowerUpActive[0]; // 저장된 활성화/비활성화 정보를 가져와서 출력
mChargeObject.SetActive(false); // 구매 버튼 제거
mActiveObject.SetActive(true); // 활성화/비활성화 버튼 생성
}
else
{
mChargeObject.SetActive(true); // 구매 버튼 생성
mActiveObject.SetActive(false); // 활성화/비활성화 버튼 제거
AccessoryCash.text = UserInfo.instance.UserDataSet.NowPowerUpCash[0].ToString(); // 현재 강화 비용 출력
}
}
public void OnPointerDown(PointerEventData eventData)
{
mAccessoryName.text = mThisAccessoryName.text;
mAccessoryExplain.text = this.mExplain;
mAccessoryImage.GetComponent<Image>().sprite = mThisAccessoryIamge.GetComponent<Image>().sprite;
mChargeButton.GetComponent<ChargePowerUp>().NowAccessoryIndex = mAccessoryIndex - 1;
AccessoryCash.text = UserInfo.instance.UserDataSet.NowPowerUpCash[mAccessoryIndex - 1].ToString();
if(UserInfo.instance.UserDataSet.PowerUpLevel[mAccessoryIndex - 1] == AccessoryMaxLevel) // 해당하는 Accessory Level이 최대 레벨이라면
{
mActiveObject.transform.Find("InGameActiveToggle").GetComponent<Toggle>().isOn = UserInfo.instance.UserDataSet.BPowerUpActive[mAccessoryIndex - 1]; // // 저장된 활성화/비활성화 정보를 가져와 출력
mChargeObject.SetActive(false); // 강화버튼을 없애고
mActiveObject.SetActive(true); // 활성화/비활성화 버튼을 생성
}
else
{
mChargeObject.SetActive(true); // 강화버튼을 생성하고
mActiveObject.SetActive(false); // 활성화/비활성화 버튼을 생성
}
}
- 강화한 Accessory일 경우 해당하는 Level을 Toggle(체크 표시)로 표시하는 기능
for (int i = 0; i < UserInfo.instance.UserDataSet.PowerUpLevel[mAccessoryIndex - 1]; i++)
{
AccessoryToggle[i].isOn = true;
}
- 필요한 변수 선언
[SerializeField] TMP_Text mMoneyText; // Money를 보여줄 수 있는 Text Object
- MoneyText를 UserInfo 클래스에서 정보를 가져와 출력하는 기능
private void SetMoneyText(){
mMoneyText.text = UserInfo.instance.UserDataSet.Gold.ToString();
}
- Esc키를 누르면 Main화면으로 돌아가게 하는 기능
private void Update()
{
if(Input.GetKeyDown(KeyCode.Escape)){
GetComponent<SceneMove>().ToBack();
}
}
- 배경화면
UI - Image를 선택한다.
다음 그림과 같이 세팅한다.
Image
Source Image 에 배경 이미지를 넣는다.
- 강화할 Accessory를 나열한 것
Hierarchy에서 PowerUpBG안에 AccessoryChoose, ButtonRefund, Scroll View, ExplainBG를 넣는다.
- 강화할 Accessory의 배경
UI - Image를 선택한다.
다음 그림과 같이 세팅한다.
- "강화 선택" 출력
UI - Text-TextMeshPro를 선택한다.
다음 그림과 같이 세팅한다.
- 강화 골드 환불 버튼
- ChargePowerUp.cs script와 연결된다.
UI - Button를 선택한다.
ChargeButton(#ChargeObject)을 Button에 넣고 가지고 있는 ChargePowerUp의 Refund를 연결한다.
다음 그림과 같이 세팅한다.
Text(TMP)
다음 그림과 같이 세팅한다.
UI - ScrollView를 선택한다.
다음 그림과 같이 세팅한다.
Viewport
다음 그림과 같이 세팅한다.
Content
- Content안에 Accessory를 넣는다.
다음 그림과 같이 세팅한다.
Grid Layout Group에서
Cell Size는 Content안에 내용물의 크기를 조정한다.
Spacing은 각 Cell간의 거리를 조정한다.
Constraint는 Constraint Count의 개수를 가로를 기준으로 체크할지 세로를 기준으로 체크할지 정한다.
UI - Scrollbar를 선택한다.
Sliding Area
다음 그림과 같이 세팅한다.
Handle
다음 그림과 같이 세팅한다.
- Scroll View의 Content 내용이다.
- Text, AccessoryImage, AccessoryLevel들로 구성되어 있다.
- PowerUpInfo.cs script와 연결된다.
UI - Image를 선택한다.
다음 그림과 같이 세팅한다.
- 강화할 Accessory의 이름이다.
UI - Text-TextMeshPro를 선택한다.
다음 그림과 같이 세팅한다.
- 강화할 Accessory의 Image이다.
UI - Image를 선택한다.
다음 그림과 같이 세팅한다.
- 강화할 Accessory의 레벨 표시할 Toggle이다.
UI - Toggle를 선택한다.
다음 그림과 같이 세팅한다.
이때 PosX좌표는 Accessory의 레벨에 맞게 잘 설정하면 된다.
Background
- Toggle의 배경이다.
다음 그림과 같이 세팅한다.
Checkmark
- Toggle의 체크표시다.
다음 그림과 같이 세팅한다.
- 마우스를 올리면 해당하는 강화할 목록에 대한 설명 출력
Hierarchy에서 ExplainBG안에 AccessoryName, AccessoryImage, AccessoryExplain, ChargeObject, ActiveObject을 넣는다.
UI - Image를 선택한다.
다음 그림과 같이 세팅한다.
UI - Text-TextMeshPro를 선택한다.
다음 그림과 같이 세팅한다.
UI - Image를 선택한다.
다음 그림과 같이 세팅한다.
UI - Text-TextMeshPro를 선택한다.
다음 그림과 같이 세팅한다.
- 강화하는 데 드는 비용과 구입 Button이다.
Create Empty Child를 선택한다.
Hierarchy에서 ChargeObject안에 ChargeButton, Charge를 넣는다.
다음 그림과 같이 세팅한다.
ChargeButton
- ChargePowerUp.cs script를 넣고 ChargePowerUp의 Charge를 Button과 연결한다.
UI - Button를 선택한다.
다음 그림과 같이 세팅한다.
Text(TMP)
Charge
UI - Text-TextMeshPro를 선택한다.
다음 그림과 같이 세팅한다.
MoneyIcon(1)
UI - Image를 선택한다.
다음 그림과 같이 세팅한다.
- 전부 강화하면 해당 Accessory를 활성화/비활성화를 결정하는 Toggle이다.
Create Empty Child를 선택한다.
Hierarchy에서 ActiveObject안에 InGameActiveToggle, InGameActive를 넣는다.
그리고 SetActive를 false로 한다.
다음 그림과 같이 세팅한다.
InGameActiveToggle
- ChargeButton을 Toggle Object에 넣고 ChargePowerUp의 StatActive를 Toggle과 연결한다.
UI - Toggle를 선택한다.
다음 그림과 같이 세팅한다.
Background
다음 그림과 같이 세팅한다.
Checkmark
다음 그림과 같이 세팅한다.
InGameActive
UI - Text-TextMeshPro를 선택한다.
다음 그림과 같이 세팅한다.
- 뒤로 가기 버튼
- SceneMove.cs와 script 연결되어 ToBack 메소드를 사용한다.
UI - Button-TextMeshPro을 선택한다.
다음 그림과 같이 세팅한다.
다음 그림과 같이 OnClick()에 ToBack을 적용시킨다.
ToBack script 설명
ButtonBack 안의 Text 설정 다음 그림과 같이 세팅한다.
- User가 가지고 있는 돈의 양 출력
Hierarchy에서 MoneyBG안에 MoneyIcon, Money를 넣는다.
- money의 배경화면
UI - Image를 선택한다.
다음 사진과 같이 세팅한다.
- money의 돈 모양 아이콘
UI - Image를 선택한다.
다음 사진과 같이 세팅한다.
- money의 글자
UI - Text-TextMeshPro를 선택한다.
다음 사진과 같이 세팅한다.
- UserPowerUp.cs와 SceneMove.cs를 넣어준다.
Create Empty를 선택한다.
다음 사진과 같이 세팅한다.
Font Asset : Maplestory Bold SDF
using UnityEngine;
using UnityEngine.UI;
public class ChargePowerUp : MonoBehaviour
{
public int NowAccessoryIndex;
[SerializeField] GameObject[] mAccessory;
[SerializeField] GameObject mChargeObject;
[SerializeField] GameObject mActiveObject;
[SerializeField] Toggle mActiveToggle;
private float[] mUpgradeStat = new float[16] { 0.05f, 1, 0.1f, 0.1f, -0.025f, 0.05f, 0.1f, 0.15f, 1, 0.05f, 0.25f, 0.1f, 0.03f, 0.1f, 0.1f, 1 };
public void Charge()
{
if(UserInfo.instance.UserDataSet.Gold > UserInfo.instance.UserDataSet.NowPowerUpCash[NowAccessoryIndex] && UserInfo.instance.UserDataSet.PowerUpLevel[NowAccessoryIndex] != mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryMaxLevel)
{
UserInfo.instance.ConsumeGold(-UserInfo.instance.UserDataSet.NowPowerUpCash[NowAccessoryIndex]);
for (int i = 0; i < mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryMaxLevel; i++)
{
if (UserInfo.instance.UserDataSet.PowerUpLevel[NowAccessoryIndex] == i)
{
mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryToggle[i].isOn = true;
UserInfo.instance.UpdatePowerUpLevel(NowAccessoryIndex);
UserInfo.instance.UpdatePowerUpStat(NowAccessoryIndex, mUpgradeStat[NowAccessoryIndex]);
break;
}
}
for (int i = 0; i < 16; i++)
{
UserInfo.instance.UpdatePowerUpCash(i);
}
mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryCash.text = UserInfo.instance.UserDataSet.NowPowerUpCash[NowAccessoryIndex].ToString();
}
if(UserInfo.instance.UserDataSet.PowerUpLevel[NowAccessoryIndex] == mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryMaxLevel)
{
mActiveToggle.GetComponent<Toggle>().isOn = UserInfo.instance.UserDataSet.BPowerUpActive[NowAccessoryIndex];
mChargeObject.SetActive(false);
mActiveObject.SetActive(true);
}
}
public void Refund()
{
for (int i = 0; i < 16; i++)
{
for (int j = 0; j < mAccessory[i].GetComponent<PowerUpInfo>().AccessoryMaxLevel; j++)
{
mAccessory[i].GetComponent<PowerUpInfo>().AccessoryToggle[j].isOn = false;
}
UserInfo.instance.RefundPowerUpLevel(i);
UserInfo.instance.RefundPowerUpStat(i);
UserInfo.instance.RefundPowerUpCash(i);
UserInfo.instance.RefundPowerUpActive(i);
}
UserInfo.instance.ConsumeGold(UserInfo.instance.UserDataSet.ConsumedGold);
UserInfo.instance.RefundGold();
mAccessory[NowAccessoryIndex].GetComponent<PowerUpInfo>().AccessoryCash.text = UserInfo.instance.UserDataSet.NowPowerUpCash[NowAccessoryIndex].ToString();
mChargeObject.SetActive(true);
mActiveObject.SetActive(false);
}
public void StatActive()
{
if(mActiveToggle.isOn)
{
UserInfo.instance.UpdatePowerUpActive(NowAccessoryIndex, true);
UserInfo.instance.UserDataSet.PowerUpStat[NowAccessoryIndex] = UserInfo.instance.UserDataSet.PowerUpMaxstat[NowAccessoryIndex];
}
else
{
UserInfo.instance.UpdatePowerUpActive(NowAccessoryIndex, false);
UserInfo.instance.UserDataSet.PowerUpStat[NowAccessoryIndex] = 0;
}
}
}
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections.Generic;
using TMPro;
[System.Serializable]
class PowerUpData
{
public string Explain;
public int AccessoryLevel;
}
[System.Serializable]
class PowerUpInfoData
{
public PowerUpData[] PowerUp;
}
public class PowerUpInfo : MonoBehaviour, IPointerDownHandler
{
public TMP_Text AccessoryCash;
public List<Toggle> AccessoryToggle;
public int AccessoryMaxLevel;
[SerializeField] int mAccessoryIndex;
[SerializeField] GameObject mContext;
[SerializeField] GameObject mExplainBG;
private Image mThisAccessoryIamge;
private TMP_Text mThisAccessoryName;
private Image mAccessoryImage;
private TMP_Text mAccessoryName;
private TMP_Text mAccessoryExplain;
private Button mChargeButton;
private GameObject mChargeObject;
private GameObject mActiveObject;
private PowerUpInfoData mInfoData;
private string mExplain;
private void Awake()
{
Transform accessory = mContext.transform.GetChild(mAccessoryIndex - 1);
mThisAccessoryName = accessory.transform.GetChild(0).GetComponent<TextMeshProUGUI>();
mThisAccessoryIamge = accessory.transform.GetChild(1).GetComponent<Image>();
mAccessoryImage = mExplainBG.transform.Find("AccessoryImage").GetComponent<Image>();
mAccessoryName = mExplainBG.transform.Find("AccessoryName").GetComponent<TextMeshProUGUI>();
mAccessoryExplain = mExplainBG.transform.Find("AccessoryExplain").GetComponent<TextMeshProUGUI>();
mChargeObject = mExplainBG.transform.Find("ChargeObject").gameObject;
mActiveObject = mExplainBG.transform.Find("ActiveObject").gameObject;
mChargeButton = mChargeObject.transform.Find("ChargeButton").GetComponent<Button>();
AccessoryCash = mChargeObject.transform.Find("Charge").GetComponent<TextMeshProUGUI>();
for(int i = 2; i < accessory.transform.childCount; i++)
{
AccessoryToggle.Add(accessory.transform.GetChild(i).GetComponent<Toggle>());
}
if (UserInfo.instance.UserDataSet.PowerUpLevel[0] == 5)
{
mActiveObject.transform.Find("InGameActiveToggle").GetComponent<Toggle>().isOn = UserInfo.instance.UserDataSet.BPowerUpActive[0];
mChargeObject.SetActive(false);
mActiveObject.SetActive(true);
}
else
{
mChargeObject.SetActive(true);
mActiveObject.SetActive(false);
AccessoryCash.text = UserInfo.instance.UserDataSet.NowPowerUpCash[0].ToString();
}
}
private void Start()
{
mInfoData = JsonUtility.FromJson<PowerUpInfoData>(Resources.Load<TextAsset>("GameData/ItemExplainDataKorean").ToString());
this.mExplain = mInfoData.PowerUp[mAccessoryIndex-1].Explain;
this.AccessoryMaxLevel = mInfoData.PowerUp[mAccessoryIndex-1].AccessoryLevel;
for (int i = 0; i < UserInfo.instance.UserDataSet.PowerUpLevel[mAccessoryIndex - 1]; i++)
{
AccessoryToggle[i].isOn = true;
}
}
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log(UserInfo.instance.UserDataSet.BPowerUpActive[mAccessoryIndex - 1]);
mAccessoryName.text = mThisAccessoryName.text;
mAccessoryExplain.text = this.mExplain;
mAccessoryImage.GetComponent<Image>().sprite = mThisAccessoryIamge.GetComponent<Image>().sprite;
mChargeButton.GetComponent<ChargePowerUp>().NowAccessoryIndex = mAccessoryIndex - 1;
AccessoryCash.text = UserInfo.instance.UserDataSet.NowPowerUpCash[mAccessoryIndex - 1].ToString();
if(UserInfo.instance.UserDataSet.PowerUpLevel[mAccessoryIndex - 1] == AccessoryMaxLevel)
{
mActiveObject.transform.Find("InGameActiveToggle").GetComponent<Toggle>().isOn = UserInfo.instance.UserDataSet.BPowerUpActive[mAccessoryIndex - 1];
mChargeObject.SetActive(false);
mActiveObject.SetActive(true);
}
else
{
mChargeObject.SetActive(true);
mActiveObject.SetActive(false);
}
}
}
using UnityEngine;
using TMPro;
public class UserPowerUp : MonoBehaviour
{
[SerializeField] TMP_Text mMoneyText;
private void Start()
{
SetMoneyText();
}
private void Update()
{
if(Input.GetKeyDown(KeyCode.Escape))
{
GetComponent<SceneMove>().ToBack();
}
SetMoneyText();
}
private void SetMoneyText()
{
mMoneyText.text = UserInfo.instance.UserDataSet.Gold.ToString();
}
}