Core - 업적 시스템

담당자
이도현
상태
Done
시작-완료일
2024/03/28
예정 마감일
2024/04/02
완료일
2024/04/08

완료 대기 업적 상태, 버튼을 클릭하여 완료하기

스페이스바를 눌러 SuccessCount 증가, Count가 5가 되면 완료 대기(Waiting For Completion) 상태로 진입
버튼을 눌러 완료(Complete) 상태로 전환 및 보상 수령(2회 받도록 의도된 사항임).
버튼 코드는 아래와 같음
public Button receiveButton; // 수령하기 버튼 public string achievementCodeName; // 수령하려는 업적의 코드 이름 void Start() { receiveButton.onClick.AddListener(() => { AchievementSystem.instance.ReceiveRewardsAndCompleteAchievement(achievementCodeName); }); }
C#
복사
업적 내용의 표시를 하는 것처럼, 업적 코드도 함께 사용하면 될 것으로 보임.

Reward

현재 보상 코드는 아래와 같음
[CreateAssetMenu(menuName = "Achievement/Reward/Coin", fileName = "Reward_Coin")] public class RewardCoin : AchievementReward { public override void Give(Achievement achievement) { Debug.Log($"{Random.Range(300,600)} 업적코인을 획득했다!"); } }
C#
복사
데이터 관리자가 생기면 구체적인 코드(파츠코드 수여, 코인 획득 등)를 작성할 예정

현재 시점 To-do

임시 업적을 몇 개 만들어, UI에 반영되도록 하기
업적 데이터를 구성하는 시트를 만들어 임포트 하기

업적 메뉴 UI에 반영

전체보기, 진행중 보기, 완료 보기 의 세 개의 형태로 볼 수 있음
완료 대기 상태의 업적은 수령 버튼이 활성화되어 보상을 받을 수 있음

업적 초기화 미구현

게임적으로 구현을 하게 된다면, 파츠와 엮어 함께 초기화를 하는 방식
업적 달성을 통해 얻은 재화 또는 업적 자체의 보상으로 파츠를 해금하는 것으로 기획하였기 때문

업적 완료 알림

업적을 완료하는 동시에 전용 알림 UI를 화면에 FadeIn/Out하여 플레이어에게 알림

구체적인 업적 마련 예시

스페이스바를 N회 누르기 → 4가지 업적
Minion Enemy를 5마리 처치하기 → 1가지 업적

이후 구현은