mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-23 18:26:41 +02:00
feat(cd): add Matrix notification on deploy failure
Sends a message to a Matrix room when a deploy fails, including the failing services, commit, deployer, and a link to the logs. Requires two GitHub Actions secrets: - DEPLOY_NOTIFY_ROOM_ID: Matrix room ID - DEPLOY_NOTIFY_BOT_TOKEN: Matrix bot access token Skips silently if secrets are not configured. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8c2aa261e8
commit
8511c2ca4c
22 changed files with 2684 additions and 0 deletions
98
games/whopixels/js/scenes/MainMenuScene.js
Normal file
98
games/whopixels/js/scenes/MainMenuScene.js
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
class MainMenuScene extends Phaser.Scene {
|
||||
constructor() {
|
||||
super({ key: 'MainMenuScene' });
|
||||
}
|
||||
|
||||
create() {
|
||||
// Add background
|
||||
this.add.image(400, 300, 'background');
|
||||
|
||||
// Add title
|
||||
this.add
|
||||
.text(400, 120, 'WhoPixels', {
|
||||
fontSize: '64px',
|
||||
fill: '#fff',
|
||||
fontStyle: 'bold',
|
||||
})
|
||||
.setOrigin(0.5);
|
||||
|
||||
// Add subtitle
|
||||
this.add
|
||||
.text(400, 180, 'Ein Pixel-Abenteuer', {
|
||||
fontSize: '32px',
|
||||
fill: '#fff',
|
||||
})
|
||||
.setOrigin(0.5);
|
||||
|
||||
// Create buttons
|
||||
const startButton = this.add
|
||||
.text(400, 280, 'RPG Spiel starten', {
|
||||
fontSize: '32px',
|
||||
fill: '#fff',
|
||||
backgroundColor: '#4a4a4a',
|
||||
padding: { x: 20, y: 10 },
|
||||
})
|
||||
.setOrigin(0.5)
|
||||
.setInteractive();
|
||||
|
||||
const editorButton = this.add
|
||||
.text(400, 350, 'Pixel Editor', {
|
||||
fontSize: '32px',
|
||||
fill: '#fff',
|
||||
backgroundColor: '#4a4a4a',
|
||||
padding: { x: 20, y: 10 },
|
||||
})
|
||||
.setOrigin(0.5)
|
||||
.setInteractive();
|
||||
|
||||
const optionsButton = this.add
|
||||
.text(400, 420, 'Optionen', {
|
||||
fontSize: '32px',
|
||||
fill: '#fff',
|
||||
backgroundColor: '#4a4a4a',
|
||||
padding: { x: 20, y: 10 },
|
||||
})
|
||||
.setOrigin(0.5)
|
||||
.setInteractive();
|
||||
|
||||
// Button interactions - RPG Game
|
||||
startButton.on('pointerover', () => {
|
||||
startButton.setStyle({ fill: '#ff0' });
|
||||
});
|
||||
|
||||
startButton.on('pointerout', () => {
|
||||
startButton.setStyle({ fill: '#fff' });
|
||||
});
|
||||
|
||||
startButton.on('pointerdown', () => {
|
||||
this.scene.start('RPGScene');
|
||||
});
|
||||
|
||||
// Button interactions - Pixel Editor
|
||||
editorButton.on('pointerover', () => {
|
||||
editorButton.setStyle({ fill: '#ff0' });
|
||||
});
|
||||
|
||||
editorButton.on('pointerout', () => {
|
||||
editorButton.setStyle({ fill: '#fff' });
|
||||
});
|
||||
|
||||
editorButton.on('pointerdown', () => {
|
||||
this.scene.start('GameScene');
|
||||
});
|
||||
|
||||
// Button interactions - Options
|
||||
optionsButton.on('pointerover', () => {
|
||||
optionsButton.setStyle({ fill: '#ff0' });
|
||||
});
|
||||
|
||||
optionsButton.on('pointerout', () => {
|
||||
optionsButton.setStyle({ fill: '#fff' });
|
||||
});
|
||||
|
||||
optionsButton.on('pointerdown', () => {
|
||||
// Options functionality would go here
|
||||
console.log('Options button clicked');
|
||||
});
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue