패스 시스템
작성자 - 강정우
1.개요
2.세부내용 – 데이터 구조
PASSMAIN
PASSREWORD
PASSLEVEL
REWORD
MAIN
MISSIONTYPE
MISSION
MAIN
UI
3-1.PASSTABLE - passmain
컬럼명 | 데이터타입 | 설명 |
ID | uint | 데이터의 고유한 ID |
DESCRIPTION | string | 해당 패스의 설명 stringkey |
STARTDATE | long | 해당 PASS의 시작시간 YYYYMMDDHHMMSS로 표시된다. 기준시는 한국시간 (UTC+9) 이다. �ex> 2020년 11월 5일 00시 00분 00초 20201105000000 |
ENDDATE | long | 해당 PASS의 종료시간 YYYYMMDDHHMMSS로 표시된다. 기준시는 한국시간 (UTC+9) 이다. �ex> 2020년 11월 5일 23시 59분 59초 20201105235959 |
3-2.PASSTABLE - passreword
컬럼명 | 데이터타입 | 설명 |
ID | uint | 데이터의 고유한 ID |
PASSMAIN_ID | uint | PASSMAIN의 ID 해당 ID의 패스가 활성화될 경우 모든 구성요소를 불러와서 리스트를 구성한다. |
PASSLEVEL_ID | uint | PASSLEVEL의 ID PASSLEVEL - LEVEL을 내림차순 정렬하여 리스트를 구성한다. �해당 PASS의 구성요소들 중 동일한 LEVEL이 존재할경우 ERROR처리하여 데이터확인을 요청한다. |
NORMAL_REWARD_ID | uint | REWARD ID 일반패스의 보상을 나타낸다. |
PASS_REWARD_ID_1 | uint | REWARD ID 구매패스의 보상1을 나타낸다. |
PASS_REWARD_ID_2 | uint | REWARD ID 구매패스의 보상2를 나타낸다. |
3-3.PASSTABLE - passlevel
컬럼명 | 데이터타입 | 설명 |
ID | uint | 데이터의 고유한 ID |
LEVEL | uint | 해당패스레벨의 레벨 |
NEEDPOINT | uint | 해당패스레벨의 보상을 받기위한 요구치 |
3-4.PASSTABLE - passlevel
컬럼명 | 데이터타입 | 설명 |
ID | uint | 데이터의 고유한 ID |
LEVEL | uint | 해당패스레벨의 레벨 |
NEEDPOINT | uint | 해당패스레벨의 보상을 받기위한 요구치 |
4-1.MISSIONTABLE - missionmain
컬럼명 | 데이터타입 | 설명 |
ID | uint | 데이터의 고유한 ID |
TYPE | uint | 해당 미션의 타입을 나타낸다 �0 : 일일미션 1 : 1달미션 2 : 패스미션 |
DATETYPE | uint | 해당 미션의 제한시간타입을 나타낸다. �기준시간은 한국시간이다.(UTC + 9) �단, TYPE컬럼의 종료시간이 DATETYPE의 종료시간보다 짧을경우 TYPE의 종료시간을 따라간다. �0 : 매일초기화 ( 00시 00분 ) 1 : 매주초기화 ( 매주 월요일 00시 00분) 2 : 매달초기화 ( 매달 1일 00시 00분) 3 : 영구지속 ( 영구지속 ) |
MISSIONTYPE_ID | uint | MISSIONTYPE의 ID MISSION구성요소를 나타낸다. |
REWARD_ID | uint | REWARD의 ID 보상을 나타낸다. |
4-2.PASSTABLE - missiontype
컬럼명 | 데이터타입 | 설명 |
ID | uint | 데이터의 고유한 ID �차트에서 특정 ID를 발송하면 1회 완료처리를 수행할 수 있도록 한다 |
COUNT | uint | 해당미션 달성을 위한 횟수를 표시한다. |
STRINGKEY | string | 내용 표시를 위한 스트링 키이다. 스트링 테이블을 참조해서 내용을 출력한다. |
DESCRIPTION | NONE # | 단순 내용 표시용 |
5-1.REWORDTABLE - rewordmain
컬럼명 | 데이터타입 | 설명 |
ID | uint | 데이터의 고유한 ID �다음과같이 하드코딩을 진행한다. �[ 10000번대 대역 : 경험치 ] 10001 : 계정 경험치 10002 : 패스미션 경험치 �[ 20000번대 대역 : 재화 ] 20001 : 골드 20002 : 다이아 �[ 30000번대 대역 : 캐릭터 ] 30001 : 캐릭터카드1 30002 : 캐릭터카드2 … 3n : 캐릭터카드 n번째 �[ 40000번대 대역 : 일반아이템 ] 40001 : 일반아이템1 40002 : 일반아이템2 … 4n : 일반아이템 n번째 |
NUM | uint | 보상의 갯수를 표시한다. |
IMAGEPATH | string | 해당 보상의 image 경로를 출력한다. |
6-1.UI/UX 목업
메인화면에서 패스버튼을 클릭하면 아래의 처리를 수행합니다.
�현재 시간(한국시간 UTC+9)이 START ~ END사이에 있는 PASS정보를 불러옵니다.
해당시간의 PASS정보는 0개 혹은 1개만 존재해야함으로 2개이상일경우 에러를 발생시킵니다.
0개일경우 패스버튼 클릭시 아무런 반응이 일어나지 않습니다.
1개일경우 패스화면으로 이동시킵니다.
�
6-2.UI/UX 목업 – PAGE_PASS
뒤로가기
?
DD:MM:SS
패스 아이템 구매
보상
미션
최종 보상
Lv.n+m
item
item
item
item
Lv.n
item
item
Lv.n+1
item
item
레벨
Lv.n
nn/mm
모두 수령
.
.
.
1
2
3
4
5
6
7
8
9
10
11
6-3.UI/UX 목업 – PAGE_PASS
TAG | 구분 | 설명 |
1 | 뒤로가기버튼 | 뒤로가기버튼 클릭시 메인화면으로 이동�stringkey : ui_pass_001 // 뒤로가기 |
2 | 안내버튼 | 패스이벤트 안내버튼 클릭시 이벤트 설명 팝업 발생�해당 패스의 DESCRIPTION stringkey를 이용하여 내용 출력 |
3 | 시간표시텍스트 | 현재 남은 시간을 표시 기준시간은 한국시간(UTC + 9)�일 > 시간 > 분 > 초 단위로 남은시간을 표시�stringkey : ui_pass_002 // {0}{1} 남음 {0} :: 숫자 {1} 일,시간,분,초 알맞은 문구 |
4 | 패스구매하기 버튼 | 패스 구매하기버튼 클릭시 패스 구매 팝업을 발생�stringkey : ui_pass_003 // 패스구매하기 |
5 | 최종보상 | 최종보상을 안내하는 스크롤 구성요소�스크롤과 상관없이 항상 최상단에 위치하여 유저가 인지가능해야함�아이템 내부 갱신은 구성 아이템 부분 참조 |
6 | 레벨별 보상 | 해당 패스시즌의 PASSREWARD - PASSLEVEL을 참조하여 리스트를 구성�ScrollView로 구성되어 유저가 전구간의 보상을 확인 가능해야함�첫 페이지 진입시 현재 진행중인 레벨의 보상이 자동 스크롤 되어야함.�아이템 내부 갱신은 구성 아이템 부분 참조 |
7 | 레벨구매버튼 | 해당 레벨의 필요경험치를 획득하는 버튼�클릭시 레벨 구매 팝업을 발생�stringkey : ui_pass_004 // 레벨 API : PacketManager.Instance.PassPointRequest(포인트양) |
6-4.UI/UX 목업 – PAGE_PASS
8 | 현재레벨텍스트 | 현재 진행중인 레벨을 표시�stringkey : ui_pass_005 // Lv.{0} |
9 | 포인트텍스트 | 현재 보유한 포인트 / 현재 레벨 필요 포인트 표시�stringkey : ui_pass_006 // {0} / {1} |
10 | 포인트비율텍스트 | 9에서 사용한 값을 게이지로 표현 |
11 | 모두수령버튼 | 획득가능한 보상을 모두 획득할 수 있는 버튼�획득가능한 보상이 1개라도 존재할 경우 활성화 ㄴ> 클릭시 획득가능한 보상 모두 획득처리�획득가능한 보상이 없을 경우 비활성화 ㄴ> 클릭시 반응 X�stringkey : ui_pass_007 // 모두받기 API : PacketManager.Instance.MissionClearRequest(가장 마지막 보상 level id); |
6-5.UI/UX 목업 – PAGE_PASS_PASSITEM
Lv.n
item
item
1
2
3
item
일반 딤드
item
획득 딤드
item
비활성 딤드
6-6.UI/UX 목업 – PAGE_PASS_PASSITEM
TAG | 구분 | 설명 |
1 | 레벨텍스트 | 해당 PASSREWARD의 PASSLEVEL 표시�도달, 진행중인 레벨의 경우 눈에 띄는 글씨 도달하지 못한 레벨의 경우 어두운 글씨로 표현�stringkey : ui_pass_005 // Lv.{0} |
2 | 일반보상아이템 | 해당 PASSREWARD의 NORMAL_REWARD를 표시�NORMAL_REWARD가 0일경우 해당 오브젝트는 출력하지 않는다.�획득가능한경우
�획득불가능한경우
|
6-7.UI/UX 목업 – PAGE_PASS_PASSITEM
3 | 패스구매보상아이템 | 해당 PASSREWARD의 PASS_REWARD1, PASS_REWARD2를 표시한다.�PASS_REWARD가 0일경우 해당 오브젝트는 출력하지 않는다. �획득가능한경우
�획득불가능한경우
|
6-8.UI/UX 목업 – PAGE_PASS_MISSIONITEM
item
남은시간
임무수행도
임무 설명
보상 받기
1
2
3
4
5
item
남은시간
임무수행도
임무 설명
보상 받기
6-9.UI/UX 목업 – PAGE_PASS_MISSIONITEM
TAG | 구분 | 설명 |
1 | 아이템 이미지 | 아이템 이미지를 나타낸다.�이미 획득한 보상의 경우 하단의 딤드처리로 표현한다. |
2 | 남은시간 | 현재 남은 시간을 표시 상세설명 상단의 PASS PAGE.3참조�단, 해당 미션 남은 시간, 해당 PASS의 ENDDATE 중 더 짧은 시간을 출력�stringkey : ui_pass_002 // {0}{1} 남음 {0} :: 숫자 {1} 일,시간,분,초 알맞은 문구 |
3 | 임무수행도 | 해당 MISSIONTYPE의 COUNT - 현재 수행한 COUNT 표시�stringkey : ui_pass_008 // {0}회 남음 |
4 | 임무설명 | 해당 MISSIONTYPE의 stringkey를 표시 |
5 | 보상버튼 | 해당 미션 완료시 해당 버튼을 클릭하여 보상을 받는다.�기본 비활성화 상태에서 임무수행도가 0회 남았을경우 활성화시킨다. �활성화된 버튼 클릭시
비활성화된 버튼 클릭시
�API : PacketManager.Instance.MissionClearRequest(해당보상 id); |
6-10.UI/UX 목업 – POPUP_PASSINFO
설명설명
설명
설명
설명
설명
1
2
TAG | 구분 | 설명 |
1 | 이벤트설명 | 해당 패스의 description stringkey를 가져온다. |
2 | 닫기버튼 | 해당 팝업을 닫는다. |
6-11.UI/UX 목업 – POPUP_ITEMINFO
TAG | 구분 | 설명 |
1 | 아이템이미지 | 아이템의 IMAGEPATH를 불러온다. |
2 | 설명 | 해당 아이템의 설명을 불러온다. �현재 간이 데이터를 사용중임으로 “-”로 대체한다. |
3 | 닫기버튼 | 해당 팝업을 닫는다. |
이미지
설명설명설명설명
2
1
3
6-12.UI/UX 목업 – POPUP_GETITEM
TAG | 구분 | 설명 |
1 | 알림을 위한 문구이다 �stringkey : ui_pass_009 // 아이템 획득! | 알림을 위한 문구이다 �stringkey : ui_pass_009 // 아이템 획득! |
2 | 획득한 아이템을 리스트에 순차적으로 표시한다. �아이템리스트 content rect.width < 아이템 이미지들의 rect.width의 합 일 경우 Horizontal scroll이 활성화된다. �각 아이템들은 IMAGEPATH를 불러온다. | 획득한 아이템을 리스트에 순차적으로 표시한다. �아이템리스트 content rect.width < 아이템 이미지들의 rect.width의 합 일 경우 Horizontal scroll이 활성화된다. �각 아이템들은 IMAGEPATH를 불러온다. |
3 | 닫기버튼 | 해당 팝업을 닫는다. |
아이템 획득
1
3
이미지
이미지
이미지
2
6-13.UI/UX 목업 – POPUP_BUYBASE
{}다이아를 사용하여
{}레벨을 올립니다.
TAG | 구분 | 설명 |
1 | 레벨구매문구 | 알림을 위한 문구이다�stringkey : ui_pass_010 // {0}다이아를 사용하여 {1}레벨을 달성합니다. {0} : 50고정치 {1} : 현재레벨 |
2 | 취소버튼 | 취소버튼이다.�해당팝업을 닫는다.�stringkey : ui_pass_011 // 취소 |
3 | 확인버튼 | 확인버튼이다.�{}다이아를 소모해서 {}레벨을 달성한다. 해당팝업을 닫는다.�stringkey : ui_pass_012 // 확인 |
1
확인
취소
3
2
6-14.UI/UX 목업 – POPUP_BUYBASE
{}다이아를 사용하여
패스를 활성화 합니다.
TAG | 구분 | 설명 |
1 | 레벨구매문구 | 알림을 위한 문구이다�stringkey : ui_pass_013 // {0}다이아를 사용하여 패스를 활성화합니다. {0} : 1000고정치 |
2 | 취소버튼 | 취소버튼이다.�해당팝업을 닫는다.�stringkey : ui_pass_011 // 취소 |
3 | 확인버튼 | 확인버튼이다.�{}다이아를 소모해서 패스를 활성화한다. 해당팝업을 닫는다.�stringkey : ui_pass_012 // 확인 |
1
확인
취소
3
2