feat: 로비 불필요한 코드 정리
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 37b882a126f0daf42a4b4a0f0f261a17
|
|
||||||
PrefabImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -45,19 +45,10 @@ namespace TON
|
|||||||
characterCritical.text = $"{player.critical}";
|
characterCritical.text = $"{player.critical}";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnClickStageButton()
|
|
||||||
{
|
|
||||||
// 스테이지 입장 UI 활성화
|
|
||||||
GameObject currentSelectedGameObject = EventSystem.current.currentSelectedGameObject;
|
|
||||||
LobbyUI_StagePage lobbyUI_StagePage = currentSelectedGameObject.GetComponentInParent<LobbyUI_StagePage>();
|
|
||||||
|
|
||||||
// 강제로 스테이지 4맵을 사용하도록 적용
|
|
||||||
PlayerPrefs.SetString("StageId", "STG004");
|
|
||||||
lobbyUI_StagePage.OnClickStageButton();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnClickStagePlayButton()
|
public void OnClickStagePlayButton()
|
||||||
{
|
{
|
||||||
|
PlayerPrefs.SetString("StageId", "STG004");
|
||||||
|
|
||||||
// 가지고 있는 하트가 없다면 입장 불가
|
// 가지고 있는 하트가 없다면 입장 불가
|
||||||
if (HeartDataManager.Singleton.GetCurrentHearts() < 1)
|
if (HeartDataManager.Singleton.GetCurrentHearts() < 1)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,128 +0,0 @@
|
|||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using TMPro;
|
|
||||||
using UnityEngine;
|
|
||||||
using UnityEngine.Assertions;
|
|
||||||
using UnityEngine.UI;
|
|
||||||
|
|
||||||
namespace TON
|
|
||||||
{
|
|
||||||
public class LobbyUI_StagePage : MonoBehaviour
|
|
||||||
{
|
|
||||||
public Button stageEntryButton;
|
|
||||||
// public TextMeshProUGUI stageTitle;
|
|
||||||
public GameObject stageImage;
|
|
||||||
public Transform starGroup;
|
|
||||||
public StageStar starPrefab;
|
|
||||||
|
|
||||||
public GameObject stageEntryUI;
|
|
||||||
public GameObject lockState;
|
|
||||||
public StageClearData stageClearData;
|
|
||||||
|
|
||||||
|
|
||||||
public string stageId;
|
|
||||||
private SerializableDictionary<string, StageClearData> bestStageClearDict = new SerializableDictionary<string, StageClearData>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 스테이지 1개 축소 및 게임 장르 변경으로 아래 메소드 사용하지 않음음
|
|
||||||
/// </summary>
|
|
||||||
public void Initalize(string stageId)
|
|
||||||
{
|
|
||||||
this.stageId = stageId;
|
|
||||||
|
|
||||||
if (stageId == "STG001")
|
|
||||||
{
|
|
||||||
lockState.SetActive(false);
|
|
||||||
stageEntryButton.interactable = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// bestStageClearDict = StageManager.Singleton.bestStageClearDict;
|
|
||||||
// stageClearData = bestStageClearDict.GetValueOrDefault(stageId, null);
|
|
||||||
|
|
||||||
SetStageImage();
|
|
||||||
// SetStageEntryInfo(index);
|
|
||||||
// stageTitle.text = $"stage {index + 1}";
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 스테이지 1개 축소 및 게임 장르 변경으로 아래 메소드 사용하지 않음음
|
|
||||||
/// </summary>
|
|
||||||
private void SetStageEntryInfo(int index)
|
|
||||||
{
|
|
||||||
if (stageClearData != null)
|
|
||||||
{
|
|
||||||
// 스테이지 슬롯에 스테이지 클리어 정보가 있는 경우
|
|
||||||
for (int i = 0; i < 3; i++)
|
|
||||||
{
|
|
||||||
StageStar stageStar = Instantiate(starPrefab, starGroup);
|
|
||||||
stageStar.gameObject.SetActive(true);
|
|
||||||
if (i < stageClearData.starRating)
|
|
||||||
{
|
|
||||||
stageStar.SetStar(true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
stageStar.SetStar(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// 스테이지 슬롯에 스테이지 클리어 정보가 없고 첫번째 스테이지가 아닌 경우
|
|
||||||
if (index != 0)
|
|
||||||
{
|
|
||||||
StageClearData prevStageClearData = bestStageClearDict.GetValueOrDefault($"STG00{index - 1}", null);
|
|
||||||
// 직전 스테이지의 클리어 결과가 있고 별점이 1개 이상인 경우
|
|
||||||
if (prevStageClearData != null && prevStageClearData.starRating > 0)
|
|
||||||
{
|
|
||||||
lockState.SetActive(false);
|
|
||||||
stageEntryButton.interactable = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SetDefaultStarPoint();
|
|
||||||
// 이전 스테이지를 클리어하지 않은 경우
|
|
||||||
stageEntryButton.interactable = false;
|
|
||||||
|
|
||||||
// FIXME: 개발 편의를 위해 스테이지 입장 가능하게 오픈
|
|
||||||
stageEntryButton.interactable = true;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SetDefaultStarPoint();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SetDefaultStarPoint()
|
|
||||||
{
|
|
||||||
for (int i = 0; i < 3; i++)
|
|
||||||
{
|
|
||||||
StageStar stageStar = Instantiate(starPrefab, starGroup);
|
|
||||||
stageStar.gameObject.SetActive(true);
|
|
||||||
Instantiate(starPrefab, starGroup.transform).SetStar(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SetStageImage()
|
|
||||||
{
|
|
||||||
Assert.IsTrue(AssetManager.Singleton.LoadStageIcon(stageId, out Sprite loadedStageImage));
|
|
||||||
stageImage.GetComponent<Image>().sprite = loadedStageImage;
|
|
||||||
stageImage.SetActive(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnClickStageButton()
|
|
||||||
{
|
|
||||||
// 현재 입장 UI가 열려 있는 상태에 따라 영역을 클릭했을때 on off 하도록 함
|
|
||||||
stageEntryUI.SetActive(!stageEntryUI.activeSelf);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnClickStageChangeButton()
|
|
||||||
{
|
|
||||||
stageEntryUI.SetActive(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 20a9f61ddd2bf77478b2a76ca955e678
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Reference in New Issue
Block a user