Merge pull request #49 from Degulleo/DO-47-승패-무승부-기보씬에-적용

승급패널 제작 중간병합
This commit is contained in:
HaeinLEE117 2025-03-25 15:01:45 +09:00 committed by GitHub
commit e2e1a8ce63
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 7153 additions and 5 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f87bd040c947d8b4dbc513c71a5656dd
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -7,6 +7,7 @@
public const int WIN_COUNT = 5; public const int WIN_COUNT = 5;
//무승부 확인을 위한 최소 착수 수 //무승부 확인을 위한 최소 착수 수
public const int MinCountForDrawCheck = 150; public const int MinCountForDrawCheck = 150;
public const int RAING_POINTS = 10;
public string[] AI_NAMIES = { "이세돌", "신사동호랭이","진짜인간임","종로3가짱돌","마스터김춘배","62세황순자","고준일 강사님"}; public string[] AI_NAMIES = { "이세돌", "신사동호랭이","진짜인간임","종로3가짱돌","마스터김춘배","62세황순자","고준일 강사님"};
} }

View File

@ -0,0 +1,15 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class RatingPointsController : MonoBehaviour
{
[SerializeField] Image[] minusImages;
[SerializeField] Image[] plusImage;
private Color32 _minusColor = new Color32(255, 0, 0, 255);
private Color32 _plusColor = new Color32(34, 87, 255, 255);
private Color32 _defaultColor = new Color32(176, 176, 176, 255);
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0b0154ccfd0151245b4888c822e22bea
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -188,6 +188,16 @@ public class PanelManager : MonoBehaviour
GameManager.Instance.panelManager.OpenShopPanel(shopItems); GameManager.Instance.panelManager.OpenShopPanel(shopItems);
} }
//승급 패널 생성
public void OpenRatingPanel()
{
if (_canvas != null)
{
var replayPanelObject = GetPanel("Rating Panel");
replayPanelObject.GetComponent<RatingPanelController>().Show();
}
}
//코인 패널 코인 갱신 //코인 패널 코인 갱신
public void UpdateCoinsPanelUI(int coinsChanged) public void UpdateCoinsPanelUI(int coinsChanged)
{ {

View File

@ -0,0 +1,51 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
public class RatingPanelController : ConfirmPanelController
{
[SerializeField] private TMP_Text getPointsText;
[SerializeField] private TMP_Text scoreText;
[SerializeField] private GameObject threePointsIndicator;
[SerializeField] private GameObject fivePointsIndicator;
[SerializeField] private GameObject tenPointsIndicator;
private bool _isWin;
private int _requiredPoints;
private int _currentPoints;
private int _myRating;
/// <summary>
/// 텍스트 초기화, 승급포인트 계산
/// </summary>
/// <param name="isWin"></param>
public void InitRatingPanel(bool isWin)
{
_isWin = isWin;
_myRating= UserManager.Instance.Rating;
if (_myRating >= 10 && _myRating <= 18) {// 10~18급은 3점 필요
threePointsIndicator.gameObject.SetActive(true);
} else if (_myRating >= 5 && _myRating <= 9) {// 5~9급은 5점 필요
fivePointsIndicator.gameObject.SetActive(true);
} else if (_myRating >= 1 && _myRating <= 4) {// 1~4급은 10점 필요
tenPointsIndicator.gameObject.SetActive(true);
tenPointsIndicator.GetComponent<RatingPointsController>();
}
string win = _isWin ? "승리" : "패배";
string get = _isWin ? "얻었습니다." : "잃었습니다.";
getPointsText.text = $"게임에서 {win}했습니다.\n{Constants.RAING_POINTS} 승급 포인트를 {get}";
//TODO: network에 스코어 요청
}
void Start()
{
InitRatingPanel(false);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6aefe2e4fb12eb240a53cbb40ef4e76e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: