Files
yourpart3/backend/models/taxi/taxiGameState.js
Torsten Schulz (local) 9db7c88086 Änderung: Erweiterung der Taxi-Map-Logik und Verbesserung der Benutzeroberfläche
Änderungen:
- Hinzufügung neuer Modelle für TaxiMapTile, TaxiStreetName und TaxiMapTileStreet zur Unterstützung der Tile- und Straßennamen-Logik.
- Anpassung der TaxiMap- und TaxiMapService-Logik zur Verwaltung von Tiles und Straßennamen.
- Implementierung von Methoden zur Upsert-Logik für Tiles und Straßennamen in der TaxiMapService.
- Verbesserung der Benutzeroberfläche in TaxiToolsView.vue zur Anzeige und Bearbeitung von Straßennamen und zusätzlichen Elementen.

Diese Anpassungen verbessern die Funktionalität und Benutzererfahrung im Taxi-Minispiel erheblich, indem sie eine detailliertere Verwaltung von Karten und Straßennamen ermöglichen.
2025-09-17 18:55:57 +02:00

68 lines
1.2 KiB
JavaScript

import { DataTypes } from 'sequelize';
import { sequelize } from '../../utils/sequelize.js';
const TaxiGameState = sequelize.define('TaxiGameState', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
userId: {
type: DataTypes.INTEGER,
allowNull: false
},
currentLevel: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 1
},
totalScore: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
totalMoney: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
totalPassengersDelivered: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
unlockedLevels: {
type: DataTypes.JSON,
allowNull: false,
defaultValue: [1]
},
achievements: {
type: DataTypes.JSON,
allowNull: false,
defaultValue: []
},
// createdAt/updatedAt via timestamps
}, {
tableName: 'taxi_game_state',
schema: 'taxi',
timestamps: true,
underscored: true,
indexes: [
{
unique: true,
fields: ['user_id']
},
{
fields: ['total_score']
},
{
fields: ['total_money']
},
{
fields: ['total_passengers_delivered']
}
]
});
export default TaxiGameState;