[Feat] 리플레이데이터에 프로필 정보 저장할 수 있도록 함수 추가
This commit is contained in:
parent
105566f85f
commit
c8f59a7080
@ -202,7 +202,7 @@ public class GameLogic : MonoBehaviour
|
||||
};
|
||||
}
|
||||
|
||||
//TODO: 기보 매니저에게 플레이어 닉네임 넘겨주기
|
||||
//TODO: 기보 매니저에게 플레이어 닉네임 넘겨주기, 프로필정보도 넘겨줘야 합니다.
|
||||
ReplayManager.Instance.InitReplayData("PlayerA","nicknameB");
|
||||
|
||||
|
||||
|
@ -81,10 +81,9 @@ public class ReplayCell : MonoBehaviour
|
||||
|
||||
public void OnClickReplayButton()
|
||||
{
|
||||
//TODO: 확인 패널 띄우고 밑의 내용 콜백 함수로 옮기기
|
||||
// GameManager.Instance.OpenConfirmPanel($"{_opponentNickname}님 과의 대결을 다시 보시겠습니까?", () => { });
|
||||
ReplayManager.Instance.SetReplayData(_storedReplayRecord);
|
||||
SceneManager.LoadScene("Replay");
|
||||
GameManager.Instance.panelManager.OpenConfirmPanel($"{_opponentNickname}님 과의 대결을 다시 보시겠습니까?",
|
||||
() => {
|
||||
ReplayManager.Instance.SetReplayData(_storedReplayRecord);
|
||||
SceneManager.LoadScene("Replay"); });
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -11,6 +11,8 @@ public class ReplayController : MonoBehaviour
|
||||
[SerializeField] private TMP_Text playerBNicknameText;
|
||||
[SerializeField] private Image playerAImage;
|
||||
[SerializeField] private Image playerBImage;
|
||||
[SerializeField] private GameObject[] userAProfileImages;
|
||||
[SerializeField] private GameObject[] userBProfileImages;
|
||||
void Start()
|
||||
{
|
||||
InitReplayUI();
|
||||
@ -56,5 +58,4 @@ public class ReplayController : MonoBehaviour
|
||||
playerANicknameText.text = ReplayManager.Instance.GetPlayerANickname();
|
||||
playerBNicknameText.text = ReplayManager.Instance.GetPlayerBNickname();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -12,7 +12,11 @@ public class ReplayRecord
|
||||
public string playerA;
|
||||
public string playerB;
|
||||
public List<Move> moves = new List<Move>();
|
||||
//TODO: winnerPlayerType삭제
|
||||
public string winnerPlayerType;
|
||||
public string gameResult; //무승부를 반영하기위해 승자가 아닌 게임 결과를 저장.
|
||||
public string playerAPofileImageIndex;
|
||||
public string playerBPofileImageIndex;
|
||||
}
|
||||
[Serializable]
|
||||
public class Move
|
||||
@ -91,11 +95,13 @@ public class ReplayManager : Singleton<ReplayManager>
|
||||
///<summary>
|
||||
/// 게임 시작에 호출해서 기보 데이터 초기화
|
||||
/// </summary>
|
||||
public void InitReplayData(string playerANickname="", string playerBNickname="")
|
||||
public void InitReplayData(string playerANickname="", string playerBNickname="", int playerAProfileIndex=0, int playerBProfileIndex=0)
|
||||
{
|
||||
_recordingReplayData = new ReplayRecord();
|
||||
_recordingReplayData.playerA = playerANickname;
|
||||
_recordingReplayData.playerB = playerBNickname;
|
||||
_recordingReplayData.playerAPofileImageIndex = playerBNickname.ToString();
|
||||
_recordingReplayData.playerBPofileImageIndex = playerAProfileIndex.ToString();
|
||||
}
|
||||
|
||||
///<summary>
|
||||
@ -106,8 +112,7 @@ public class ReplayManager : Singleton<ReplayManager>
|
||||
string stoneColor = stoneType.ToString();
|
||||
_recordingReplayData.moves.Add(new Move(stoneColor, row, col));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 게임 종료 후 호출하여 리플레이 데이터를 저장합니다.
|
||||
/// </summary>
|
||||
@ -134,6 +139,27 @@ public class ReplayManager : Singleton<ReplayManager>
|
||||
Debug.LogError($"An error occurred while saving replay data:{e.Message}");
|
||||
}
|
||||
}
|
||||
public void SaveReplayDataResult(Enums.GameResult gameResultType)
|
||||
{
|
||||
try
|
||||
{
|
||||
string time = DateTime.Now.ToString(("yyyy-MM-dd HH_mm_ss"));
|
||||
_recordingReplayData.gameDate = time;
|
||||
_recordingReplayData.gameResult = gameResultType.ToString();
|
||||
|
||||
// Json데이터로 변환해서 저장
|
||||
string json = JsonUtility.ToJson(_recordingReplayData, true);
|
||||
string path = Path.Combine(Application.persistentDataPath, $"{time}.json");
|
||||
File.WriteAllText(path, json);
|
||||
|
||||
//최신 데이터 10개만 유지되도록 저장
|
||||
RecordCountChecker();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Debug.LogError($"An error occurred while saving replay data:{e.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user