-
앞서 진행했었던 프로젝트에서 점수 기록과 회원 가입 시스템을 붙이고 싶단 생각이 들었다.
이를 좀 더 확장하여 단순 로컬에서의 플레이 기록을 남기는 것이 아닌 게임을 어느 환경에서 실행해도 점수가 기록된다면 어떨까? 개인적인 욕심이 많이 생겼고, 이를 해결하고자 했다.
이를 해결하는 방법을 찾고 찾다가.. 아예 서버를 구축하고 제공하는 것은 물리적인 문제, 시간적인 문제가 굉장히 많이 소요될 것이란 판단이 들었고 최적화된 해결방안으로 뒤끝을 사용하기로 하였다.
이에 대한 설명은 해당 티스토리에 다른 글로 설명해놓았다.
유니티(Unity)_ 점수 기록 및 서버 연동, 비동기 서버 제공 '뒤끝서버' 사용 방법 :: bb (tistory.com)
회원가입 구현
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using BackEnd; public class BackEndAuthentication : MonoBehaviour { public InputField idInput; public InputField paInput; // 회원가입1 - 동기 방식 public void OnClickSignUp() { BackendReturnObject BRO = Backend.BMember.CustomSignUp(idInput.text, paInput.text, "회원가입 테스트"); if (BRO.IsSuccess()) { Debug.Log("[동기방식] 회원 가입 성공"); } else { BackEndManager.MyInstance.ShowErrorUI(BRO); } // 회원 가입을 한뒤 결과를 BackEndReturnObject 타입으로 반환한다. string error = Backend.BMember.CustomSignUp(idInput.text, paInput.text, "Test1").GetErrorCode(); // 회원 가입 실패 처리 switch(error) { case "DuplicatedParameterException": Debug.Log("중복된 customId 가 존재하는 경우"); break; default: Debug.Log("회원 가입 완료"); break; } Debug.Log("동기 방식============================================= "); } public void OnClickLogin() { BackendReturnObject BRO = Backend.BMember.CustomLogin(idInput.text, paInput.text); if (BRO.IsSuccess()) { Debug.Log("[동기방식] 로그인 성공"); } else { BackEndManager.MyInstance.ShowErrorUI(BRO); } } }
다음과 같이 C# 스크립트를 추가해서 회원가입을 진행할 수 있도록 설정하였다.
비동기식으로도 회원가입이 가능하지만, 동기 방식을 채택하여 구현하였다.
원하는 대로 서버에 회원가입이 진행되었다.
점수 저장 및 서버 연동
Param param = new Param(); param.Add("score", charScore); BackendReturnObject BRO = Backend.GameInfo.Insert("score", param);
다음과 같이 작성하여 스코어라고 생성하였던 뒤끝 서버의 데이터 베이스와 연동하여
해당 데이터 베이스에 점수가 저장될 수 있도록 하였다.
Param param = new Param(); param.Add("score", player.score); BackendReturnObject BRO = Backend.GameData.Insert("score",param); Where where = new Where(); var bro = Backend.GameData.GetMyData("score", where, 1).ToString();
따라서 내가 사용하였던 PLAYER.SCORE 와 데이터 베이스 SCORE와 연동하여 저장될 수 있도록 다음과 같이 코드를 구현하며, 점수 저장은 게임의 종료 시점에 할 것 이므로 게임 종료 함수에 해당 내용을 추가하여 구현하게 하였다.
점수 역시 서버에 기록되고 있는 것을 확인할 수 있다.
추가적인 기능 구현에 욕심은 생기지만, 시간이 날 때.. 여유가 생긴다면 진행해보도록 하겠다.
'프로젝트' 카테고리의 다른 글
마리모탈출 (0) 2021.10.22 유니티(Unity)_ 프로젝트 최종본. 배포 및 사용 방법. (0) 2021.10.22 Unity 프로젝트_ 쿼터뷰 3D 액션 게임 개발 프로젝트_(2) 게임 구현 (0) 2021.09.25 Unity 프로젝트_ 쿼터뷰 3D 액션 게임 개발 프로젝트_(1) 게임 설계 (0) 2021.09.25 아두이노 프로젝트_ 물체 감지 시스템, 차 안 고양이 방지 시스템. (0) 2021.09.06 댓글 (비로그인 댓글 허용하지 않습니다.)