Änderungen: - Erweiterung des TaxiMapTile-Modells um die Spalte trafficLight zur Verwaltung von Ampelzuständen. - Anpassung der TaxiMapService-Logik zur Unterstützung der Ampel-Updates und -Zustände. - Implementierung von Methoden zur Steuerung und Anzeige von Ampeln in der Benutzeroberfläche, einschließlich der neuen Funktionen in TaxiToolsView.vue und TaxiGame.vue. - Verbesserung der Darstellung und Logik zur Ampelsteuerung im Spiel, einschließlich der visuellen Darstellung und der Interaktion mit Ampeln. Diese Anpassungen verbessern die Funktionalität und Benutzererfahrung im Taxi-Minispiel erheblich, indem sie eine realistischere Verkehrssteuerung ermöglichen.
52 lines
1006 B
JavaScript
52 lines
1006 B
JavaScript
import { DataTypes } from 'sequelize';
|
|
import { sequelize } from '../../utils/sequelize.js';
|
|
|
|
const TaxiMapTile = sequelize.define('TaxiMapTile', {
|
|
id: {
|
|
type: DataTypes.INTEGER,
|
|
primaryKey: true,
|
|
autoIncrement: true,
|
|
},
|
|
mapId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
x: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
y: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
},
|
|
tileType: {
|
|
type: DataTypes.STRING(50),
|
|
allowNull: false,
|
|
},
|
|
trafficLight: {
|
|
type: DataTypes.BOOLEAN,
|
|
allowNull: false,
|
|
defaultValue: false,
|
|
comment: 'Whether this tile has a traffic light'
|
|
},
|
|
meta: {
|
|
type: DataTypes.JSON,
|
|
allowNull: true,
|
|
}
|
|
}, {
|
|
tableName: 'taxi_map_tile',
|
|
schema: 'taxi',
|
|
timestamps: true,
|
|
underscored: true,
|
|
indexes: [
|
|
{ unique: true, fields: ['map_id','x','y'] },
|
|
{ fields: ['map_id'] },
|
|
{ fields: ['tile_type'] },
|
|
{ fields: ['traffic_light'] },
|
|
]
|
|
});
|
|
|
|
export default TaxiMapTile;
|
|
|
|
|