diff --git a/src/community/docsGames.js b/src/community/docsGames.js index 3e577db..3c2b525 100644 --- a/src/community/docsGames.js +++ b/src/community/docsGames.js @@ -318,4 +318,9 @@ export const GAMES = [ desc: 'Кастомные скины: герой превращается в пончик, машину, пришельца. Магазин скинов на B.', mechanics: ['game.player.setSkin', 'non-humanoid скины', 'магазин скинов', 'таблички'], previewShot: 'guide-zoo-scene.png', openProjectId: 2046, ready: true }, + { id: 'guide-strelka', num: 55, group: 'g5', stars: 1, icon: 'gamepad', + title: 'Туториал — собери монетки', + desc: '3D-стрелка-указатель «иди сюда»: дорожка из бегущих шевронов + парящий маркер над целью. Дошёл — стрелка прыгает на следующую.', + mechanics: ['game.fx.pointer', 'preset стрелки', 'setTarget/update', 'onTouch цели'], + previewShot: 'guide-strelka-scene.png', openProjectId: 333, ready: true }, ]; diff --git a/src/editor/GameSettingsModal.jsx b/src/editor/GameSettingsModal.jsx index 96f8dbb..fdfa26c 100644 --- a/src/editor/GameSettingsModal.jsx +++ b/src/editor/GameSettingsModal.jsx @@ -44,6 +44,7 @@ const GameSettingsModal = ({ open, initial, onClose, onSave, onCaptureScreenshot const [isPublic, setIsPublic] = useState(false); const [multiplayer, setMultiplayer] = useState(false); const [maxPlayers, setMaxPlayers] = useState(10); + const [isTest, setIsTest] = useState(false); const [error, setError] = useState(''); const fileInputRef = useRef(null); @@ -58,6 +59,7 @@ const GameSettingsModal = ({ open, initial, onClose, onSave, onCaptureScreenshot setThumbnail(initial?.thumbnail || ''); setIsPublic(!!initial?.is_public); setMultiplayer(!!initial?.multiplayer); + setIsTest(!!initial?.is_test); setMaxPlayers( typeof initial?.max_players === 'number' ? Math.max(2, Math.min(50, initial.max_players)) @@ -117,6 +119,7 @@ const GameSettingsModal = ({ open, initial, onClose, onSave, onCaptureScreenshot is_public: isPublic, multiplayer, max_players: Math.max(2, Math.min(50, Number(maxPlayers) || 10)), + is_test: isTest, }); }; @@ -252,6 +255,26 @@ const GameSettingsModal = ({ open, initial, onClose, onSave, onCaptureScreenshot + {/* Тестовая игра — для разработки/проверки в плеере. + Не попадает в каталог (лента/поиск/профиль). */} + + {multiplayer && (