_v
_v
개요
_v
는 시나리오 전반에 걸쳐 공통으로 사용할 수 있는 전역 변수 및 함수를 관리하는 데 사용됩니다. 스크립트가 사용되는 모든 곳에서 _v
를 정의하고 접근할 수 있습니다.
서브시나리오를 사용하는 경우 서브시나리오와 호출한 서브시나리오의 _v는 서로 같은 _v를 바라보기 때문에 간섭이 있게 됩니다.
서브시나리오로 호출을 할경우 _v에 유니크한 키를 활용하던가 서브시나리오에서 원본 시나리오로 돌아갈 때 lifecycle 관리를 별도로 해주어야 합니다.
정의 가능한 위치
_v
는 다음과 같은 스크립트 환경에서 정의하고 사용할 수 있습니다
이벤트 스크립트
로드 스크립트
대체 표현식
{% %}
예시
// 변수 정의
_v.newVal = 'newValue';
// 함수 정의
_v.val_double = function(val) {
return val * 2;
};
// 일반 스크립트
_v.newVal; // 'newValue'
_v.val_double(10); // 20
// 대체텍스트
{% return _v.newVal %}
{% return _v.val_double(Current.sector.value); %}
_v.key = null // key의 값을 초기화
delete _v.key // key 항목까지 삭제
_v = {}; // _v 전체 초기화
활용
1. 지속적인 정보 유지
상태 유지: 시나리오의 다양한 스탭 간에 사용자의 선택, 설정 값, 또는 게임의 점수와 같은 정보를 지속적으로 유지할 필요가 있을 때
_v
를 사용하여 이러한 데이터를 저장하고 재사용합니다.
2. 서브시나리오 실행 시 값 저장
임시 데이터 저장: 메인 시나리오에서 서브시나리오로 이동하기 전에 특정 데이터를 임시로 저장하고, 서브시나리오가 종료된 후 이를 다시 활용합니다. 이는 서브시나리오에서의 사용자 결정이나 중간 결과를 보존하는 데 유용합니다.
3. 콜렉션 데이터의 유연한 활용
콜렉션 데이터 연계: 현재 콜렉션에서 사용 중인 데이터를
_v
를 통해 저장함으로써, 서브시나리오로 이동하거나 복귀할 때 데이터의 무결성을 유지하고, 콜렉션 데이터를 보다 유연하게 활용할 수 있습니다.
4. 전역 함수의 정의 및 사용
재사용 가능한 함수: 시나리오 전반에 걸쳐 자주 사용되는 기능이나 계산, 예를 들어 특정 형식의 데이터 가공, 검증 로직, 특정 형식으로의 데이터 포맷팅 등을 함수로 정의하고
_v
를 통해 언제든지 쉽게 호출하여 사용할 수 있습니다.
샘플 시나리오 활용 예제
지도 API 주소 찾기 샘플 카드를 클릭하면 샘플 시나리오를 통해 _v
를 활용한 예제를 확인해 볼 수 있습니다.
Last updated
Was this helpful?