add models.ts

This commit is contained in:
Владимир Фёдоров 2026-03-22 00:10:55 +07:00
parent b56a4570de
commit ccad38799f
6 changed files with 57 additions and 61 deletions

View File

@ -6,9 +6,7 @@ import VueQrcode from '@chenfengyuan/vue-qrcode';
import BeltBlock from './BeltBlock.vue';
import MetalPlate from './MetalPlate.vue';
import GameHeader from './GameHeader.vue';
import type { Action } from './models/action';
import type { Door } from './models/door';
import type { Team } from './models/team';
import type { Action, Door, Team } from './models';
const router = useRouter();
const route = useRoute();

56
src/components/models.ts Normal file
View File

@ -0,0 +1,56 @@
// Команда
export type Team = {
// Название
name: string
// Совершенные действия
actions: Action[]
}
// Действие
// Посещение точки игры
export type Action = {
// Идентификатор действия
id: string
// Код точки
place: string
// Название точки
name: string
// Текст точки
text: string
// Ссылка на картинку
image: string
// Список приложений
applications: Application[]
// Видимость/доступность точки
hidden: boolean
// Двери точки
doors: Door[]
// Поля для интерфейса
// Сворачивание
isOpen: boolean
// Кнопки
buttons: Door[]
}
// Приложение
// Улики найденые игроками (Карта, фотография...)
export type Application = {
// Наименование
name: string
// Номер
number: number
}
// Дверь
// Выбор пути в диалоге с игроком
// Или действие игрока которое можно не использовать
// Или открытие действия без участия игрока
export type Door = {
// Код точки куда открывается дверь (Целевая точка должна существовать)
code: string
// Текст кнопки (Должен совпадать с названием целевой точки)
name: string
// Видимость кнопки
show: boolean
}

View File

@ -1,29 +0,0 @@
import type { Application } from './application'
import type { Door } from './door'
// Действие
// Посещение точки игры
export type Action = {
// Идентификатор действия
id: string
// Код точки
place: string
// Название точки
name: string
// Текст точки
text: string
// Ссылка на картинку
image: string
// Список приложений
applications: Application[]
// Видимость/доступность точки
hidden: boolean
// Двери точки
doors: Door[]
// Поля для интерфейса
// Сворачивание
isOpen: boolean
// Кнопки
buttons: Door[]
}

View File

@ -1,8 +0,0 @@
// Приложение
// Улики найденые игроками (Карта, фотография...)
export type Application = {
// Наименование
name: string
// Номер
number: number
}

View File

@ -1,12 +0,0 @@
// Дверь
// Выбор пути в диалоге с игроком
// Или действие игрока которое можно не использовать
// Или открытие действия без участия игрока
export type Door = {
// Код точки куда открывается дверь (Целевая точка должна существовать)
code: string
// Текст кнопки (Должен совпадать с названием целевой точки)
name: string
// Видимость кнопки
show: boolean
}

View File

@ -1,9 +0,0 @@
import type { Action } from './action'
// Команда
export type Team = {
// Название
name: string
// Совершенные действия
actions: Action[]
}