GS2-Buff SDK for Game Engine API 레퍼런스
게임 엔진용 GS2-Buff SDK의 모델 사양과 API 레퍼런스
다양한 마이크로서비스의 대가나 보상의 양, 사용자 데이터의 최대값에 관한 보정값을 일괄 관리하는 기능을 제공합니다.
각 마이크로서비스는 버프를 적용할 수 있는 필드를 가지고 있으며, 버프를 적용함으로써 해당 필드의 값을 보정할 수 있습니다.
GS2-Buff는 각 마이크로서비스의 어느 엔트리에 버프를 얼마나 적용할지를 관리합니다.
버프의 적용량은 BuffEntryModel로 관리하며, 특정 엔트리에 대해 여러 개의 BuffEntryModel을 연결할 수 있습니다.
BuffEntryModel의 적용 순서는 BuffEntryModel의 priority로 관리되며, priority 값이 작을수록 우선순위가 높아집니다.
버프의 적용 방식은 3가지가 존재하며 “Rate Add”, “Mul”, “Value Add"가 있습니다.
Rate Add는 버프 적용 레이트에 가산하는 명령이고, Mul은 버프 적용 레이트에 곱셈하는 명령입니다.
Value Add는 버프 보정 계산 후의 값에 가산을 수행하는 명령입니다.
예를 들어, 기본 레이트가 1.0일 때 Rate Add 0.2를 설정하면 버프 적용 레이트는 1.2가 됩니다.
Mul 0.5를 설정하면 버프 적용 레이트는 현재 레이트의 0.5배가 됩니다.
BuffEntryModel에는 GS2-Schedule의 이벤트를 연결할 수 있으며, 이벤트 개최 기간 중에만 버프를 적용하도록 설정하는 것도 가능합니다.
버프가 적용된 상태는 GS2의 각 API가 가지고 있는 “컨텍스트 스택"이라는 필드를 사용하여 적용합니다.
GS2-Buff는 버프의 적용 상태를 저장한 “컨텍스트 스택"을 응답하며, 각 마이크로서비스는 그 “컨텍스트 스택"을 참조하여 버프를 적용합니다.
각 마이크로서비스의 API는 컨텍스트 스택을 전달받는 인터페이스를 가지고 있으며, 버프를 적용할 때 컨텍스트 스택을 전달함으로써 버프를 적용할 수 있습니다.
마스터 데이터 취득과 같이 언뜻 정적으로 보이는 API에서도 버프는 적용되며, 응답 내용은 버프가 적용된 것을 전제로 한 값을 응답합니다.
버프가 적용되지 않은 상태의 값을 취득하고 싶은 경우에는 컨텍스트 스택을 지정하지 않은 상태로 API를 호출함으로써 취득할 수 있습니다.
게임 엔진용 GS2-Buff SDK의 모델 사양과 API 레퍼런스
각종 프로그래밍 언어용 GS2-Buff SDK의 모델 사양과 API 레퍼런스
확장 스크립트를 호출하는 이벤트 트리거의 레퍼런스
GS2-Deploy의 스택을 생성할 때 사용하는 템플릿 포맷과, CDK를 이용한 각종 언어의 템플릿 출력 구현 예제
마스터 데이터 포맷과 임포트할 각종 모델의 레퍼런스