Caputchin
레퍼런스

맞춤화 스키마 레퍼런스

이것은 Caputchin의 필드 타입과 프리셋 모델, 모든 맞춤화 가능한 표면 아래의 공유 기반을 위한 단일 레퍼런스입니다:

넷 모두 여기 설명된 같은 필드 타입과 같은 프리셋 모델을 씁니다. 맞춤화는 프리셋으로 지어지고, 프리셋은 타입 지정된 필드의 주머니입니다.

축별 필드 타입

각 축은 고정된 필드 타입 묶음을 허용합니다:

허용된 필드 타입
Configurationboolean, number, range, list, string, link
Localestring
Skincolor, image, audio, video, boolean, number, range, list

스킨은 색상과 자산만이 아닙니다: 그것은 스칼라 손잡이 boolean, number, range, list("그림자" 토글, 모서리 반지름 숫자, "패턴" 선택)도 노출할 수 있습니다. 이것들은 그 구성 짝과 정확히 똑같이 동작하고 그 타입 지정 값으로 해소됩니다( booleantrue로 남고, number8로 남음); color와 자산 값은 문자열로 해소됩니다. 스킨은 string이나 link를 허용하지 않습니다(자유 텍스트는 언어에 속하고; 링크 대상은 구성입니다).

각 타입이 받는 것

타입규칙
string자유 텍스트임의의 텍스트.
boolean토글true 또는 false.
number숫자임의의 유한한 숫자.
range한정된 숫자필드의 최솟값과 최댓값 안의 유한한 숫자. 스텝은 슬라이더 편의입니다; 스텝 밖 값도 여전히 받아들여집니다.
list하나의 선택필드의 나열된 옵션 중 하나여야 함.
linkURLhttp 또는 https URL. 임베드된 자격 증명은 거부됨.
color색상hex 색상(#rgb, #rgba, #rrggbb, 또는 #rrggbbaa)이나 rgb() / rgba() 값. 이름 붙은 색상과 다른 색 공간은 받아들여지지 않음.
image이미지업로드된 파일이나 .png, .jpg, .jpeg, .webp, .svg, 또는 .gif로 끝나는 https URL.
audio오디오 클립업로드된 파일이나 .mp3, .ogg, 또는 .wav로 끝나는 https URL.
video비디오업로드된 파일이나 .mp4 또는 .webm으로 끝나는 https URL.

Caputchin은 당신이 저장할 때 모든 값을 검증하니, 자기 타입에 맞지 않는 값은 방문자에 닿을 수 있기 전에 거부됩니다.

예약된 키

콘텐츠 필드와 나란히, 프리셋은 그것이 무엇을 표시하는지가 아니라 어떻게 선택되고 해소되는지를 제어하는 몇 개의 예약된 메타데이터 키(각각 밑줄 접두사)를 지닙니다. 그것들을 설정하는 법은 표면에 달렸습니다: 마켓플레이스 게임 작성자는 그것들을 caputchin.json에 문자 그대로 씁니다; 대시보드 편집기(커스텀 게임, 화이트라벨)에서는 컨트롤로 설정하고 결코 키를 입력하지 않습니다. 어느 쪽이든 의미는 같습니다.

의미
_langLocale로케일 프리셋이 내는 BCP-47 언어 태그(en, es 등). 프리셋은 그것으로 묶임; 여러 프리셋이 하나의 _lang을 공유할 수 있음(예: 두 영어 변형).
_directionLocaleltr 또는 rtl. 선택, 오른쪽에서 왼쪽 언어(ar, he, fa, ur, yi, ps, sd)에는 _lang에서 자동 도출됨; 손으로 거의 설정 안 함.
_themeSkinlight, dark, 또는 any. light / dark 프리셋은 그 배경 아래에서만 보임; any 프리셋은 둘 다 아래에서 동작하고 어느 쪽에도 자격이 있음. 없을 때 light로 기본 설정.
_default전부방문자가 하나를 고르지 않을 때 서버가 그 그룹에 고르는 프리셋을 표시. 그룹당 하나의 기본값(스킨은 모드당); any 스킨은 라이트, 다크, 또는 둘 다의 기본값이 될 수 있음.
_extends전부물려받을 다른 프리셋의 이름을 댐. 프리셋 확장하기를 보세요.

예약된 메타데이터 키는 해소 동안 제거됩니다: _extends_default는 결코 게임에 닿지 않으며, 살아남는 메타데이터(_lang, _direction, _theme)에 평탄화된 콘텐츠 필드만 전달됩니다.

프리셋 확장하기

_extends는 한 프리셋이 다른 것에서 모든 값을 물려받게 하니, 전체 프리셋을 되풀이하는 대신 다른 필드만 작성합니다. _extends같은 축의 다른 프리셋 이름으로 설정하세요; 확장하는 프리셋은 그 프리셋의 모든 값에서 시작해 자기가 설정하는 키를 재정의합니다.

{
  "skins": {
    "presets": {
      "brand-light": { "_theme": "light", "accent": "#2da44e", "bg": "#ffffff" },
      "brand-light-warm": { "_extends": "brand-light", "accent": "#d97706" }
    }
  }
}

여기서 brand-light-warmbrand-light에서 bg를 물려받고 accent만 바꿉니다.

두 세부:

  • 스킨 테마 단축. 스킨 프리셋에서, _extends는 프리셋 대신 테마(light 또는 dark)를 댈 수도 있습니다. 그 형태는 그 테마의 _default인 어떤 프리셋이든으로 해소되며, 변형을 이름 짓지 않고 "기본 라이트 스킨"에 기반하는 편리한 방법입니다.
  • 그것은 해소되어 사라집니다. _extends는 따라간 뒤 제거됩니다; 게임은 완전히 병합된 결과를 받지, 결코 _extends 키 자체를 받지 않습니다.

스키마가 어디서 오는가

프리셋이 채울 수 있는 필드 묶음(그 스키마)에는 세 소스가 있으며, 모두 위의 같은 필드 타입을 씁니다:

  • 마켓플레이스 게임: 스키마가 게임 작성자의 매니페스트에서 오며, 당신이 편집기를 열 때 가져옴. 당신은 게임의 프리셋을 재정의하지만 그 스키마를 바꾸지 않음.
  • 커스텀 게임: 당신이 대시보드에서 스키마를 직접 정의한 다음, 그것을 상대로 프리셋을 작성함. 커스텀 게임을 보세요.
  • 위젯 셸(화이트라벨): 고정된, 내장 스키마. 당신은 그 프리셋을 재정의함; 필드 묶음은 작성자가 선언하지 않음. 위젯 화이트라벨링을 보세요.

프리셋과 해소

한 축 안에서, 필드는 이름 붙은 프리셋으로 묶이고, 서버는 계층화된 범위에서 그룹당 하나의 유효 프리셋을 해소합니다, 사이트 키가 팀 위, 팀이 번들 기본값 위, 값별로 계산됨. 선택자는 축별로 다릅니다: 로케일은 방문자의 브라우저 언어로, 스킨은 방문자의 라이트나 다크 선호로(모드가 any인 프리셋은 어느 쪽에도 자격이 있음), 구성은 서버 권위입니다(방문자가 고를 수 없음). 범위 모델은 개요를 보세요.

함께 보기

이 페이지에서