phaser-wind 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +243 -10
- package/dist/color/color-picker.d.ts +12 -2
- package/dist/color/color-picker.d.ts.map +1 -1
- package/dist/color/color-picker.js +59 -2
- package/dist/color/color-picker.js.map +1 -1
- package/dist/color/color-picker.spec.js +19 -0
- package/dist/color/color-picker.spec.js.map +1 -1
- package/dist/examples/nested-theme-example.d.ts +28 -0
- package/dist/examples/nested-theme-example.d.ts.map +1 -0
- package/dist/examples/nested-theme-example.js +313 -0
- package/dist/examples/nested-theme-example.js.map +1 -0
- package/dist/examples/usage-example.d.ts +17 -0
- package/dist/examples/usage-example.d.ts.map +1 -0
- package/dist/examples/usage-example.js +158 -0
- package/dist/examples/usage-example.js.map +1 -0
- package/dist/font/font-picker.d.ts +93 -0
- package/dist/font/font-picker.d.ts.map +1 -0
- package/dist/font/font-picker.js +212 -0
- package/dist/font/font-picker.js.map +1 -0
- package/dist/font/index.d.ts +1 -0
- package/dist/font/index.d.ts.map +1 -1
- package/dist/font/index.js +1 -0
- package/dist/font/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/theme/index.d.ts +3 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +3 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/theme-config.d.ts +162 -0
- package/dist/theme/theme-config.d.ts.map +1 -0
- package/dist/theme/theme-config.js +196 -0
- package/dist/theme/theme-config.js.map +1 -0
- package/dist/theme/theme-manager.d.ts +96 -0
- package/dist/theme/theme-manager.d.ts.map +1 -0
- package/dist/theme/theme-manager.js +171 -0
- package/dist/theme/theme-manager.js.map +1 -0
- package/dist/theme/type.d.ts +1 -0
- package/dist/theme/type.d.ts.map +1 -0
- package/dist/theme/type.js +2 -0
- package/dist/theme/type.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
/* eslint-disable max-lines */
|
|
2
|
+
/* eslint-disable max-lines-per-function */
|
|
3
|
+
/* eslint-disable no-console */
|
|
4
|
+
/* eslint-disable sonarjs/no-duplicate-string */
|
|
5
|
+
/* eslint-disable no-magic-numbers */
|
|
6
|
+
/**
|
|
7
|
+
* Example usage of Phaser Wind with nested theme structure
|
|
8
|
+
* This file demonstrates the new complex theme system
|
|
9
|
+
*/
|
|
10
|
+
import Phaser from 'phaser';
|
|
11
|
+
import { ColorPicker, EffectPicker, FontPicker, FontSizePicker, SpacingPicker, ThemeManager, TypographyPicker, createTheme, defaultDarkTheme, defaultLightTheme, } from '..';
|
|
12
|
+
// Example 1: Creating complex nested theme
|
|
13
|
+
export const createGameTheme = () => createTheme({
|
|
14
|
+
fonts: {
|
|
15
|
+
primary: 'Inter, system-ui, sans-serif',
|
|
16
|
+
secondary: 'Roboto, Arial, sans-serif',
|
|
17
|
+
display: 'Orbitron, monospace', // Sci-fi font for game
|
|
18
|
+
ui: 'Poppins, sans-serif',
|
|
19
|
+
},
|
|
20
|
+
colors: {
|
|
21
|
+
// Brand colors
|
|
22
|
+
primary: 'purple-600',
|
|
23
|
+
secondary: 'cyan-500',
|
|
24
|
+
accent: 'yellow-400',
|
|
25
|
+
// Game-specific colors
|
|
26
|
+
'player-health': 'green-500',
|
|
27
|
+
'player-health-low': 'red-500',
|
|
28
|
+
'player-mana': 'blue-500',
|
|
29
|
+
'enemy-health': 'red-600',
|
|
30
|
+
'item-rare': 'purple-400',
|
|
31
|
+
'item-epic': 'orange-400',
|
|
32
|
+
'item-legendary': 'yellow-400',
|
|
33
|
+
// UI colors
|
|
34
|
+
'ui-background': 'slate-900',
|
|
35
|
+
'ui-panel': 'slate-800',
|
|
36
|
+
'ui-button': 'slate-700',
|
|
37
|
+
'ui-button-hover': 'slate-600',
|
|
38
|
+
'ui-text': 'white',
|
|
39
|
+
'ui-text-muted': 'slate-400',
|
|
40
|
+
// Feedback colors
|
|
41
|
+
success: 'green-400',
|
|
42
|
+
warning: 'yellow-400',
|
|
43
|
+
error: 'red-400',
|
|
44
|
+
info: 'blue-400',
|
|
45
|
+
},
|
|
46
|
+
spacing: {
|
|
47
|
+
xs: 4,
|
|
48
|
+
sm: 8,
|
|
49
|
+
md: 16,
|
|
50
|
+
lg: 24,
|
|
51
|
+
xl: 32,
|
|
52
|
+
xxl: 48,
|
|
53
|
+
huge: 64,
|
|
54
|
+
massive: 96,
|
|
55
|
+
},
|
|
56
|
+
typography: {
|
|
57
|
+
'title-huge': {
|
|
58
|
+
fontSize: '6xl',
|
|
59
|
+
fontFamily: 'fonts.display', // Reference to fonts.display
|
|
60
|
+
fontWeight: 700,
|
|
61
|
+
lineHeight: 1.1,
|
|
62
|
+
},
|
|
63
|
+
'title-large': {
|
|
64
|
+
fontSize: '4xl',
|
|
65
|
+
fontFamily: 'fonts.display',
|
|
66
|
+
fontWeight: 600,
|
|
67
|
+
lineHeight: 1.2,
|
|
68
|
+
},
|
|
69
|
+
heading: {
|
|
70
|
+
fontSize: '2xl',
|
|
71
|
+
fontFamily: 'fonts.ui',
|
|
72
|
+
fontWeight: 500,
|
|
73
|
+
lineHeight: 1.3,
|
|
74
|
+
},
|
|
75
|
+
body: {
|
|
76
|
+
fontSize: 'md',
|
|
77
|
+
fontFamily: 'fonts.primary',
|
|
78
|
+
fontWeight: 400,
|
|
79
|
+
lineHeight: 1.5,
|
|
80
|
+
},
|
|
81
|
+
caption: {
|
|
82
|
+
fontSize: 'sm',
|
|
83
|
+
fontFamily: 'fonts.primary',
|
|
84
|
+
fontWeight: 400,
|
|
85
|
+
lineHeight: 1.4,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
effects: {
|
|
89
|
+
'glow-primary': {
|
|
90
|
+
blur: 8,
|
|
91
|
+
offsetX: 0,
|
|
92
|
+
offsetY: 0,
|
|
93
|
+
color: 'colors.primary', // Reference to colors.primary
|
|
94
|
+
alpha: 0.6,
|
|
95
|
+
},
|
|
96
|
+
'shadow-ui': {
|
|
97
|
+
blur: 4,
|
|
98
|
+
offsetX: 0,
|
|
99
|
+
offsetY: 2,
|
|
100
|
+
color: 'black',
|
|
101
|
+
alpha: 0.3,
|
|
102
|
+
},
|
|
103
|
+
'shadow-heavy': {
|
|
104
|
+
blur: 16,
|
|
105
|
+
offsetX: 0,
|
|
106
|
+
offsetY: 8,
|
|
107
|
+
color: 'black',
|
|
108
|
+
alpha: 0.4,
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
// Custom category
|
|
112
|
+
animations: {
|
|
113
|
+
'fade-duration': 300,
|
|
114
|
+
'slide-duration': 400,
|
|
115
|
+
'bounce-intensity': 1.2,
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
// Example 2: Using the new theme system
|
|
119
|
+
export class AdvancedGameScene extends Phaser.Scene {
|
|
120
|
+
create() {
|
|
121
|
+
// Initialize custom theme
|
|
122
|
+
const gameTheme = createGameTheme();
|
|
123
|
+
ThemeManager.init(gameTheme);
|
|
124
|
+
this.createBackground();
|
|
125
|
+
this.createHUD();
|
|
126
|
+
this.createGameElements();
|
|
127
|
+
this.createUI();
|
|
128
|
+
}
|
|
129
|
+
createBackground() {
|
|
130
|
+
// Create gradient background using theme colors
|
|
131
|
+
const bg = this.add.graphics();
|
|
132
|
+
bg.fillGradientStyle(ColorPicker.hex('ui-background'), // Top-left
|
|
133
|
+
ColorPicker.hex('ui-panel'), // Top-right
|
|
134
|
+
ColorPicker.hex('ui-panel'), // Bottom-left
|
|
135
|
+
ColorPicker.hex('ui-background') // Bottom-right
|
|
136
|
+
);
|
|
137
|
+
bg.fillRect(0, 0, this.cameras.main.width, this.cameras.main.height);
|
|
138
|
+
}
|
|
139
|
+
createHUD() {
|
|
140
|
+
const hudY = SpacingPicker.px('md');
|
|
141
|
+
// Game title using typography token
|
|
142
|
+
const titleStyle = TypographyPicker.phaserStyle('title-huge');
|
|
143
|
+
this.add
|
|
144
|
+
.text(this.cameras.main.centerX, hudY, 'CYBER QUEST', {
|
|
145
|
+
...titleStyle,
|
|
146
|
+
color: ColorPicker.rgb('primary'),
|
|
147
|
+
})
|
|
148
|
+
.setOrigin(0.5);
|
|
149
|
+
// Player stats using spacing and colors from theme
|
|
150
|
+
this.createStatBar(SpacingPicker.px('lg'), hudY + SpacingPicker.px('xl'), 'Health', 'player-health', 0.8);
|
|
151
|
+
this.createStatBar(SpacingPicker.px('lg'), hudY + SpacingPicker.px('xl') + SpacingPicker.px('lg'), 'Mana', 'player-mana', 0.6);
|
|
152
|
+
}
|
|
153
|
+
createStatBar(x, y, label, colorKey, percentage) {
|
|
154
|
+
const width = 200;
|
|
155
|
+
const height = SpacingPicker.px('md');
|
|
156
|
+
// Label using typography
|
|
157
|
+
const labelStyle = TypographyPicker.phaserStyle('caption');
|
|
158
|
+
this.add.text(x, y - SpacingPicker.px('sm'), label, {
|
|
159
|
+
...labelStyle,
|
|
160
|
+
color: ColorPicker.rgb('ui-text'),
|
|
161
|
+
});
|
|
162
|
+
// Background bar
|
|
163
|
+
this.add
|
|
164
|
+
.rectangle(x, y, width, height, ColorPicker.hex('ui-panel'))
|
|
165
|
+
.setOrigin(0, 0.5);
|
|
166
|
+
// Fill bar
|
|
167
|
+
const fillWidth = width * percentage;
|
|
168
|
+
this.add
|
|
169
|
+
.rectangle(x, y, fillWidth, height - 2, ColorPicker.hex(colorKey))
|
|
170
|
+
.setOrigin(0, 0.5);
|
|
171
|
+
// Text overlay
|
|
172
|
+
const bodyStyle = TypographyPicker.phaserStyle('body');
|
|
173
|
+
this.add
|
|
174
|
+
.text(x + width / 2, y, `${Math.round(percentage * 100)}%`, {
|
|
175
|
+
...bodyStyle,
|
|
176
|
+
color: ColorPicker.rgb('ui-text'),
|
|
177
|
+
})
|
|
178
|
+
.setOrigin(0.5);
|
|
179
|
+
}
|
|
180
|
+
createGameElements() {
|
|
181
|
+
const centerX = this.cameras.main.centerX;
|
|
182
|
+
const centerY = this.cameras.main.centerY;
|
|
183
|
+
// Player character
|
|
184
|
+
const player = this.add.circle(centerX - SpacingPicker.px('massive'), centerY, SpacingPicker.px('lg'), ColorPicker.hex('primary'));
|
|
185
|
+
// Enemy
|
|
186
|
+
const enemy = this.add.circle(centerX + SpacingPicker.px('massive'), centerY, SpacingPicker.px('xl'), ColorPicker.hex('enemy-health'));
|
|
187
|
+
// Items with different rarities
|
|
188
|
+
this.createItem(centerX - SpacingPicker.px('lg'), centerY + SpacingPicker.px('huge'), 'item-rare');
|
|
189
|
+
this.createItem(centerX, centerY + SpacingPicker.px('huge'), 'item-epic');
|
|
190
|
+
this.createItem(centerX + SpacingPicker.px('lg'), centerY + SpacingPicker.px('huge'), 'item-legendary');
|
|
191
|
+
console.log('Game elements created:', { player, enemy });
|
|
192
|
+
}
|
|
193
|
+
createItem(x, y, rarityColor) {
|
|
194
|
+
// Item background
|
|
195
|
+
this.add.star(x, y, 5, SpacingPicker.px('sm'), SpacingPicker.px('md'), ColorPicker.hex(rarityColor));
|
|
196
|
+
// Item glow effect (simulated)
|
|
197
|
+
this.add.circle(x, y, SpacingPicker.px('lg'), ColorPicker.hex(rarityColor), 0.2);
|
|
198
|
+
}
|
|
199
|
+
createUI() {
|
|
200
|
+
const bottomY = this.cameras.main.height - SpacingPicker.px('xl');
|
|
201
|
+
// Action buttons
|
|
202
|
+
this.createButton(this.cameras.main.centerX - SpacingPicker.px('huge'), bottomY, 'ATTACK', 'error');
|
|
203
|
+
this.createButton(this.cameras.main.centerX, bottomY, 'DEFEND', 'warning');
|
|
204
|
+
this.createButton(this.cameras.main.centerX + SpacingPicker.px('huge'), bottomY, 'HEAL', 'success');
|
|
205
|
+
}
|
|
206
|
+
createButton(x, y, text, variant) {
|
|
207
|
+
const width = SpacingPicker.px('massive');
|
|
208
|
+
const height = SpacingPicker.px('xl');
|
|
209
|
+
// Button background
|
|
210
|
+
const button = this.add
|
|
211
|
+
.rectangle(x, y, width, height, ColorPicker.hex('ui-button'))
|
|
212
|
+
.setInteractive()
|
|
213
|
+
.on('pointerover', () => {
|
|
214
|
+
button.setFillStyle(ColorPicker.hex('ui-button-hover'));
|
|
215
|
+
})
|
|
216
|
+
.on('pointerout', () => {
|
|
217
|
+
button.setFillStyle(ColorPicker.hex('ui-button'));
|
|
218
|
+
})
|
|
219
|
+
.on('pointerdown', () => {
|
|
220
|
+
console.log(`${text} button clicked!`);
|
|
221
|
+
});
|
|
222
|
+
// Button text
|
|
223
|
+
const buttonStyle = TypographyPicker.phaserStyle('heading');
|
|
224
|
+
this.add
|
|
225
|
+
.text(x, y, text, {
|
|
226
|
+
...buttonStyle,
|
|
227
|
+
color: ColorPicker.rgb(variant),
|
|
228
|
+
})
|
|
229
|
+
.setOrigin(0.5);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
// Example 3: Theme switching and dynamic updates
|
|
233
|
+
export const demonstrateThemeSwitching = () => {
|
|
234
|
+
// Register multiple themes
|
|
235
|
+
ThemeManager.registerTheme('light', defaultLightTheme);
|
|
236
|
+
ThemeManager.registerTheme('dark', defaultDarkTheme);
|
|
237
|
+
ThemeManager.registerTheme('game', createGameTheme());
|
|
238
|
+
// Listen for theme changes
|
|
239
|
+
const unsubscribe = ThemeManager.onThemeChange(newTheme => {
|
|
240
|
+
console.log('Theme changed!', {
|
|
241
|
+
fonts: Object.keys(newTheme.fonts ?? {}),
|
|
242
|
+
colors: Object.keys(newTheme.colors ?? {}),
|
|
243
|
+
spacing: Object.keys(newTheme.spacing ?? {}),
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
// Start with game theme
|
|
247
|
+
ThemeManager.setTheme('game');
|
|
248
|
+
// Switch themes after delays
|
|
249
|
+
setTimeout(() => ThemeManager.setTheme('dark'), 2000);
|
|
250
|
+
setTimeout(() => ThemeManager.setTheme('light'), 4000);
|
|
251
|
+
setTimeout(() => ThemeManager.setTheme('game'), 6000);
|
|
252
|
+
// Clean up after demo
|
|
253
|
+
setTimeout(() => unsubscribe(), 8000);
|
|
254
|
+
};
|
|
255
|
+
// Example 4: Direct API usage
|
|
256
|
+
export const demonstrateAPIUsage = () => {
|
|
257
|
+
const gameTheme = createGameTheme();
|
|
258
|
+
ThemeManager.init(gameTheme);
|
|
259
|
+
console.log('=== Theme API Demo ===');
|
|
260
|
+
// Colors
|
|
261
|
+
console.log('Primary color (RGB):', ColorPicker.rgb('primary'));
|
|
262
|
+
console.log('Primary color (HEX):', ColorPicker.hex('primary'));
|
|
263
|
+
console.log('UI background:', ColorPicker.rgb('ui-background'));
|
|
264
|
+
// Fonts
|
|
265
|
+
console.log('Display font:', FontPicker.family('display'));
|
|
266
|
+
console.log('Available fonts:', FontPicker.getAvailableFonts());
|
|
267
|
+
// Spacing
|
|
268
|
+
console.log('Large spacing:', SpacingPicker.px('lg'));
|
|
269
|
+
console.log('Available spacing:', SpacingPicker.getAvailableSpacing());
|
|
270
|
+
// Typography
|
|
271
|
+
console.log('Title style:', TypographyPicker.style('title-huge'));
|
|
272
|
+
console.log('Phaser title style:', TypographyPicker.phaserStyle('title-huge'));
|
|
273
|
+
// Effects
|
|
274
|
+
console.log('Primary glow:', EffectPicker.config('glow-primary'));
|
|
275
|
+
// Direct theme access
|
|
276
|
+
console.log('Custom animation duration:', ThemeManager.getToken('animations.fade-duration'));
|
|
277
|
+
// Font size (still works)
|
|
278
|
+
console.log('XL font size:', FontSizePicker.css('xl'));
|
|
279
|
+
};
|
|
280
|
+
// Example 5: Creating themed components
|
|
281
|
+
export class ThemedButton {
|
|
282
|
+
background;
|
|
283
|
+
text;
|
|
284
|
+
constructor(scene, x, y, label, variant = 'primary') {
|
|
285
|
+
const width = SpacingPicker.px('massive');
|
|
286
|
+
const height = SpacingPicker.px('xl');
|
|
287
|
+
// Background with theme colors
|
|
288
|
+
this.background = scene.add
|
|
289
|
+
.rectangle(x, y, width, height, ColorPicker.hex('ui-button'))
|
|
290
|
+
.setInteractive()
|
|
291
|
+
.on('pointerover', () => this.onHover())
|
|
292
|
+
.on('pointerout', () => this.onLeave())
|
|
293
|
+
.on('pointerdown', () => this.onClick());
|
|
294
|
+
// Text with theme typography and colors
|
|
295
|
+
const textStyle = TypographyPicker.phaserStyle('heading');
|
|
296
|
+
this.text = scene.add
|
|
297
|
+
.text(x, y, label, {
|
|
298
|
+
...textStyle,
|
|
299
|
+
color: ColorPicker.rgb(variant),
|
|
300
|
+
})
|
|
301
|
+
.setOrigin(0.5);
|
|
302
|
+
}
|
|
303
|
+
onHover() {
|
|
304
|
+
this.background.setFillStyle(ColorPicker.hex('ui-button-hover'));
|
|
305
|
+
}
|
|
306
|
+
onLeave() {
|
|
307
|
+
this.background.setFillStyle(ColorPicker.hex('ui-button'));
|
|
308
|
+
}
|
|
309
|
+
onClick() {
|
|
310
|
+
console.log(`Themed button clicked: ${this.text.text}`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
//# sourceMappingURL=nested-theme-example.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested-theme-example.js","sourceRoot":"","sources":["../../src/examples/nested-theme-example.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,2CAA2C;AAC3C,+BAA+B;AAC/B,gDAAgD;AAChD,qCAAqC;AACrC;;;GAGG;AACH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,IAAI,CAAC;AAEZ,2CAA2C;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAoB,EAAE,CACnD,WAAW,CAAC;IACV,KAAK,EAAE;QACL,OAAO,EAAE,8BAA8B;QACvC,SAAS,EAAE,2BAA2B;QACtC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB;QACvD,EAAE,EAAE,qBAAqB;KAC1B;IACD,MAAM,EAAE;QACN,eAAe;QACf,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,UAAU;QACrB,MAAM,EAAE,YAAY;QAEpB,uBAAuB;QACvB,eAAe,EAAE,WAAW;QAC5B,mBAAmB,EAAE,SAAS;QAC9B,aAAa,EAAE,UAAU;QACzB,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,YAAY;QACzB,gBAAgB,EAAE,YAAY;QAE9B,YAAY;QACZ,eAAe,EAAE,WAAW;QAC5B,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,WAAW;QACxB,iBAAiB,EAAE,WAAW;QAC9B,SAAS,EAAE,OAAO;QAClB,eAAe,EAAE,WAAW;QAE5B,kBAAkB;QAClB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,UAAU;KACjB;IACD,OAAO,EAAE;QACP,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE;KACZ;IACD,UAAU,EAAE;QACV,YAAY,EAAE;YACZ,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,eAAe,EAAE,6BAA6B;YAC1D,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;KACF;IACD,OAAO,EAAE;QACP,cAAc,EAAE;YACd,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,gBAAgB,EAAE,8BAA8B;YACvD,KAAK,EAAE,GAAG;SACX;QACD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,GAAG;SACX;QACD,cAAc,EAAE;YACd,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,GAAG;SACX;KACF;IACD,kBAAkB;IAClB,UAAU,EAAE;QACV,eAAe,EAAE,GAAG;QACpB,gBAAgB,EAAE,GAAG;QACrB,kBAAkB,EAAE,GAAG;KACxB;CACF,CAAC,CAAC;AAEL,wCAAwC;AACxC,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,KAAK;IACjD,MAAM;QACJ,0BAA0B;QAC1B,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,gBAAgB;QACtB,gDAAgD;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,EAAE,CAAC,iBAAiB,CAClB,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,WAAW;QAC7C,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,YAAY;QACzC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,cAAc;QAC3C,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,eAAe;SACjD,CAAC;QACF,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;IAEO,SAAS;QACf,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEpC,oCAAoC;QACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG;aACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;YACpD,GAAG,UAAU;YACb,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAW;SAC5C,CAAC;aACD,SAAS,CAAC,GAAG,CAAC,CAAC;QAElB,mDAAmD;QACnD,IAAI,CAAC,aAAa,CAChB,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EACtB,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EAC7B,QAAQ,EACR,eAAe,EACf,GAAG,CACJ,CAAC;QAEF,IAAI,CAAC,aAAa,CAChB,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EACtB,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EACtD,MAAM,EACN,aAAa,EACb,GAAG,CACJ,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,CAAS,EACT,CAAS,EACT,KAAa,EACb,QAAgB,EAChB,UAAkB;QAElB,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEtC,yBAAyB;QACzB,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE;YAClD,GAAG,UAAU;YACb,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAW;SAC5C,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,GAAG;aACL,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aAC3D,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAErB,WAAW;QACX,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,GAAG;aACL,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACjE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAErB,eAAe;QACf,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG;aACL,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,EAAE;YAC1D,GAAG,SAAS;YACZ,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAW;SAC5C,CAAC;aACD,SAAS,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEO,kBAAkB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAE1C,mBAAmB;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAC5B,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,EACrC,OAAO,EACP,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAC3B,CAAC;QAEF,QAAQ;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAC3B,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,EACrC,OAAO,EACP,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAChC,CAAC;QAEF,gCAAgC;QAChC,IAAI,CAAC,UAAU,CACb,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EAChC,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,EAClC,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CACb,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EAChC,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,EAClC,gBAAgB,CACjB,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEO,UAAU,CAAC,CAAS,EAAE,CAAS,EAAE,WAAmB;QAC1D,kBAAkB;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,CAAC,EACD,CAAC,EACD,CAAC,EACD,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EACtB,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAC7B,CAAC;QAEF,+BAA+B;QAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CACb,CAAC,EACD,CAAC,EACD,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAC5B,GAAG,CACJ,CAAC;IACJ,CAAC;IAEO,QAAQ;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAElE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,EACpD,OAAO,EACP,QAAQ,EACR,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE3E,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,EACpD,OAAO,EACP,MAAM,EACN,SAAS,CACV,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,CAAS,EACT,CAAS,EACT,IAAY,EACZ,OAAe;QAEf,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEtC,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG;aACpB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC5D,cAAc,EAAE;aAChB,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;aACD,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YACrB,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC;aACD,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEL,cAAc;QACd,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG;aACL,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;YAChB,GAAG,WAAW;YACd,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAW;SAC1C,CAAC;aACD,SAAS,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACF;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAS,EAAE;IAClD,2BAA2B;IAC3B,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACvD,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACrD,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAEtD,2BAA2B;IAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE;YAC5B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YAC1C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE9B,6BAA6B;IAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACtD,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACvD,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAEtD,sBAAsB;IACtB,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAS,EAAE;IAC5C,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,SAAS;IACT,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IAEhE,QAAQ;IACR,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEhE,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEvE,aAAa;IACb,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CACT,qBAAqB,EACrB,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAC3C,CAAC;IAEF,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IAElE,sBAAsB;IACtB,OAAO,CAAC,GAAG,CACT,4BAA4B,EAC5B,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAClD,CAAC;IAEF,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,wCAAwC;AACxC,MAAM,OAAO,YAAY;IACf,UAAU,CAA+B;IACzC,IAAI,CAA0B;IAEtC,YACE,KAAmB,EACnB,CAAS,EACT,CAAS,EACT,KAAa,EACb,UAKc,SAAS;QAEvB,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEtC,+BAA+B;QAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG;aACxB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC5D,cAAc,EAAE;aAChB,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aACvC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aACtC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE3C,wCAAwC;QACxC,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG;aAClB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;YACjB,GAAG,SAAS;YACZ,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAW;SAC1C,CAAC;aACD,SAAS,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,OAAO;QACb,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example usage of Phaser Wind with custom themes
|
|
3
|
+
* This file demonstrates how to set up and use custom themes
|
|
4
|
+
*/
|
|
5
|
+
import Phaser from 'phaser';
|
|
6
|
+
export declare const setupDefaultThemes: () => void;
|
|
7
|
+
export declare const setupCustomTheme: () => void;
|
|
8
|
+
export declare class ExampleGameScene extends Phaser.Scene {
|
|
9
|
+
create(): void;
|
|
10
|
+
private createUI;
|
|
11
|
+
private createHealthBar;
|
|
12
|
+
private createPanel;
|
|
13
|
+
private createGameElements;
|
|
14
|
+
}
|
|
15
|
+
export declare const setupThemeSwitching: () => void;
|
|
16
|
+
export declare const setupExtendedTheme: () => void;
|
|
17
|
+
//# sourceMappingURL=usage-example.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-example.d.ts","sourceRoot":"","sources":["../../src/examples/usage-example.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAY5B,eAAO,MAAM,kBAAkB,QAAO,IAMrC,CAAC;AAGF,eAAO,MAAM,gBAAgB,QAAO,IAwBnC,CAAC;AAGF,qBAAa,gBAAiB,SAAQ,MAAM,CAAC,KAAK;IAChD,MAAM,IAAI,IAAI;IASd,OAAO,CAAC,QAAQ;IA2BhB,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,WAAW;IA0CnB,OAAO,CAAC,kBAAkB;CAmB3B;AAGD,eAAO,MAAM,mBAAmB,QAAO,IAuBtC,CAAC;AAGF,eAAO,MAAM,kBAAkB,QAAO,IAgBrC,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
/* eslint-disable sonarjs/no-duplicate-string */
|
|
3
|
+
/* eslint-disable no-magic-numbers */
|
|
4
|
+
/**
|
|
5
|
+
* Example usage of Phaser Wind with custom themes
|
|
6
|
+
* This file demonstrates how to set up and use custom themes
|
|
7
|
+
*/
|
|
8
|
+
import Phaser from 'phaser';
|
|
9
|
+
import { ColorPicker, FontSizePicker, ThemeManager, createTheme, defaultDarkTheme, defaultLightTheme, } from '..';
|
|
10
|
+
// Example 1: Using default themes
|
|
11
|
+
export const setupDefaultThemes = () => {
|
|
12
|
+
// Initialize with light theme
|
|
13
|
+
ThemeManager.init(defaultLightTheme);
|
|
14
|
+
// Register dark theme
|
|
15
|
+
ThemeManager.registerTheme('dark', defaultDarkTheme);
|
|
16
|
+
};
|
|
17
|
+
// Example 2: Creating custom theme
|
|
18
|
+
export const setupCustomTheme = () => {
|
|
19
|
+
const gameTheme = createTheme({
|
|
20
|
+
// Custom semantic tokens
|
|
21
|
+
primary: 'purple-600',
|
|
22
|
+
secondary: 'pink-500',
|
|
23
|
+
background: 'slate-900',
|
|
24
|
+
'background-panel': 'slate-800',
|
|
25
|
+
text: 'white',
|
|
26
|
+
'text-muted': 'slate-400',
|
|
27
|
+
accent: 'yellow-400',
|
|
28
|
+
// Game-specific tokens
|
|
29
|
+
'player-health': 'green-500',
|
|
30
|
+
'player-health-low': 'red-500',
|
|
31
|
+
'enemy-health': 'red-600',
|
|
32
|
+
'pickup-rare': 'purple-400',
|
|
33
|
+
'pickup-common': 'blue-400',
|
|
34
|
+
'ui-button': 'slate-700',
|
|
35
|
+
'ui-button-hover': 'slate-600',
|
|
36
|
+
'ui-danger': 'red-500',
|
|
37
|
+
'ui-success': 'green-500',
|
|
38
|
+
});
|
|
39
|
+
ThemeManager.init(gameTheme);
|
|
40
|
+
};
|
|
41
|
+
// Example 3: Using in Phaser Scene
|
|
42
|
+
export class ExampleGameScene extends Phaser.Scene {
|
|
43
|
+
create() {
|
|
44
|
+
// Initialize custom theme first
|
|
45
|
+
setupCustomTheme();
|
|
46
|
+
// Now use theme tokens instead of hardcoded colors
|
|
47
|
+
this.createUI();
|
|
48
|
+
this.createGameElements();
|
|
49
|
+
}
|
|
50
|
+
createUI() {
|
|
51
|
+
// Background using theme token
|
|
52
|
+
this.add
|
|
53
|
+
.rectangle(0, 0, this.cameras.main.width, this.cameras.main.height, ColorPicker.hex('background'))
|
|
54
|
+
.setOrigin(0);
|
|
55
|
+
// Title using theme tokens
|
|
56
|
+
this.add
|
|
57
|
+
.text(400, 50, 'MY GAME', {
|
|
58
|
+
fontSize: FontSizePicker.css('4xl'),
|
|
59
|
+
color: ColorPicker.rgb('primary'),
|
|
60
|
+
})
|
|
61
|
+
.setOrigin(0.5);
|
|
62
|
+
// Health bar
|
|
63
|
+
this.createHealthBar(100, 100, 200, 20);
|
|
64
|
+
// UI Panel
|
|
65
|
+
this.createPanel(50, 150, 300, 200);
|
|
66
|
+
}
|
|
67
|
+
createHealthBar(x, y, width, height) {
|
|
68
|
+
// Background
|
|
69
|
+
this.add.rectangle(x, y, width, height, ColorPicker.hex('background-panel'));
|
|
70
|
+
// Health fill (80% health example)
|
|
71
|
+
const healthWidth = width * 0.8;
|
|
72
|
+
this.add.rectangle(x - (width - healthWidth) / 2, y, healthWidth, height - 4, ColorPicker.hex('player-health'));
|
|
73
|
+
// Health text
|
|
74
|
+
this.add
|
|
75
|
+
.text(x, y, '80 / 100', {
|
|
76
|
+
fontSize: FontSizePicker.css('sm'),
|
|
77
|
+
color: ColorPicker.rgb('text'),
|
|
78
|
+
})
|
|
79
|
+
.setOrigin(0.5);
|
|
80
|
+
}
|
|
81
|
+
createPanel(x, y, width, height) {
|
|
82
|
+
// Panel background
|
|
83
|
+
this.add.rectangle(x, y, width, height, ColorPicker.hex('background-panel'));
|
|
84
|
+
// Panel title
|
|
85
|
+
this.add
|
|
86
|
+
.text(x, y - height / 2 + 20, 'Inventory', {
|
|
87
|
+
fontSize: FontSizePicker.css('lg'),
|
|
88
|
+
color: ColorPicker.rgb('text'),
|
|
89
|
+
})
|
|
90
|
+
.setOrigin(0.5);
|
|
91
|
+
// Rare item
|
|
92
|
+
this.add.circle(x - 50, y, 15, ColorPicker.hex('pickup-rare'));
|
|
93
|
+
this.add
|
|
94
|
+
.text(x - 50, y + 25, 'Rare', {
|
|
95
|
+
fontSize: FontSizePicker.css('xs'),
|
|
96
|
+
color: ColorPicker.rgb('pickup-rare'),
|
|
97
|
+
})
|
|
98
|
+
.setOrigin(0.5);
|
|
99
|
+
// Common item
|
|
100
|
+
this.add.circle(x + 50, y, 15, ColorPicker.hex('pickup-common'));
|
|
101
|
+
this.add
|
|
102
|
+
.text(x + 50, y + 25, 'Common', {
|
|
103
|
+
fontSize: FontSizePicker.css('xs'),
|
|
104
|
+
color: ColorPicker.rgb('pickup-common'),
|
|
105
|
+
})
|
|
106
|
+
.setOrigin(0.5);
|
|
107
|
+
}
|
|
108
|
+
createGameElements() {
|
|
109
|
+
// Enemy with theme-based health
|
|
110
|
+
const enemy = this.add.circle(600, 300, 30, ColorPicker.hex('enemy-health'));
|
|
111
|
+
// Player with theme-based color
|
|
112
|
+
const player = this.add.circle(200, 300, 25, ColorPicker.hex('primary'));
|
|
113
|
+
// eslint-disable-next-line no-console
|
|
114
|
+
console.log(enemy, player);
|
|
115
|
+
// Pickup items with theme colors
|
|
116
|
+
this.add.star(400, 400, 5, 10, 20, ColorPicker.hex('pickup-rare'));
|
|
117
|
+
this.add.star(450, 400, 5, 8, 16, ColorPicker.hex('pickup-common'));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Example 4: Dynamic theme switching
|
|
121
|
+
export const setupThemeSwitching = () => {
|
|
122
|
+
// Setup themes
|
|
123
|
+
ThemeManager.registerTheme('light', defaultLightTheme);
|
|
124
|
+
ThemeManager.registerTheme('dark', defaultDarkTheme);
|
|
125
|
+
const customTheme = createTheme({
|
|
126
|
+
primary: 'emerald-500',
|
|
127
|
+
background: 'emerald-950',
|
|
128
|
+
text: 'emerald-50',
|
|
129
|
+
'background-panel': 'emerald-900',
|
|
130
|
+
});
|
|
131
|
+
ThemeManager.registerTheme('emerald', customTheme);
|
|
132
|
+
// Listen for theme changes
|
|
133
|
+
ThemeManager.onThemeChange(newTheme => {
|
|
134
|
+
console.log('Theme changed!', newTheme);
|
|
135
|
+
// Here you could update existing game objects with new colors
|
|
136
|
+
});
|
|
137
|
+
// Switch themes
|
|
138
|
+
ThemeManager.setTheme('dark');
|
|
139
|
+
setTimeout(() => ThemeManager.setTheme('emerald'), 2000);
|
|
140
|
+
setTimeout(() => ThemeManager.setTheme('light'), 4000);
|
|
141
|
+
};
|
|
142
|
+
// Example 5: Extending themes
|
|
143
|
+
export const setupExtendedTheme = () => {
|
|
144
|
+
ThemeManager.init(defaultLightTheme);
|
|
145
|
+
// Create variation of current theme
|
|
146
|
+
const winterTheme = ThemeManager.extendCurrentTheme({
|
|
147
|
+
primary: 'blue-400',
|
|
148
|
+
secondary: 'cyan-300',
|
|
149
|
+
accent: 'white',
|
|
150
|
+
background: 'blue-950',
|
|
151
|
+
text: 'blue-50',
|
|
152
|
+
'special-snow': 'white',
|
|
153
|
+
'special-ice': 'cyan-200',
|
|
154
|
+
});
|
|
155
|
+
ThemeManager.registerTheme('winter', winterTheme);
|
|
156
|
+
ThemeManager.setTheme('winter');
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=usage-example.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-example.js","sourceRoot":"","sources":["../../src/examples/usage-example.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Font picker for accessing theme fonts and font families
|
|
3
|
+
*/
|
|
4
|
+
export declare class FontPicker {
|
|
5
|
+
/**
|
|
6
|
+
* Get font family from theme
|
|
7
|
+
* @param key - Font key (e.g., 'primary', 'display') or full path (e.g., 'fonts.primary')
|
|
8
|
+
* @returns Font family string
|
|
9
|
+
*/
|
|
10
|
+
static family(key: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Get all available font tokens from current theme
|
|
13
|
+
* @returns Array of font token keys
|
|
14
|
+
*/
|
|
15
|
+
static getAvailableFonts(): string[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Spacing picker for accessing theme spacing values
|
|
19
|
+
*/
|
|
20
|
+
export declare class SpacingPicker {
|
|
21
|
+
/**
|
|
22
|
+
* Get spacing value in pixels from theme
|
|
23
|
+
* @param key - Spacing key (e.g., 'sm', 'lg') or full path (e.g., 'spacing.md')
|
|
24
|
+
* @returns Spacing value in pixels
|
|
25
|
+
*/
|
|
26
|
+
static px(key: string): number;
|
|
27
|
+
/**
|
|
28
|
+
* Get all available spacing tokens from current theme
|
|
29
|
+
* @returns Array of spacing token keys
|
|
30
|
+
*/
|
|
31
|
+
static getAvailableSpacing(): string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Typography picker for accessing complete typography styles from theme
|
|
35
|
+
*/
|
|
36
|
+
export declare class TypographyPicker {
|
|
37
|
+
/**
|
|
38
|
+
* Get complete typography style from theme
|
|
39
|
+
* @param key - Typography key (e.g., 'heading', 'body') or full path
|
|
40
|
+
* @returns Typography style object
|
|
41
|
+
*/
|
|
42
|
+
static style(key: string): {
|
|
43
|
+
fontSize?: string;
|
|
44
|
+
fontFamily?: string;
|
|
45
|
+
fontWeight?: number | string;
|
|
46
|
+
lineHeight?: number | string;
|
|
47
|
+
letterSpacing?: number | string;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Get Phaser-compatible text style from typography token
|
|
51
|
+
* @param key - Typography key
|
|
52
|
+
* @returns Object compatible with Phaser text styles
|
|
53
|
+
*/
|
|
54
|
+
static phaserStyle(key: string): {
|
|
55
|
+
fontSize?: string;
|
|
56
|
+
fontFamily?: string;
|
|
57
|
+
fontStyle: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Get all available typography tokens from current theme
|
|
61
|
+
* @returns Array of typography token keys
|
|
62
|
+
*/
|
|
63
|
+
static getAvailableTypography(): string[];
|
|
64
|
+
/**
|
|
65
|
+
* Resolve theme references in typography objects
|
|
66
|
+
* @param typographyObject - Typography style object
|
|
67
|
+
* @returns Resolved typography object
|
|
68
|
+
*/
|
|
69
|
+
private static resolveTypographyReferences;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Effect picker for accessing theme effects like shadows
|
|
73
|
+
*/
|
|
74
|
+
export declare class EffectPicker {
|
|
75
|
+
/**
|
|
76
|
+
* Get effect configuration from theme
|
|
77
|
+
* @param key - Effect key (e.g., 'shadow-md') or full path
|
|
78
|
+
* @returns Effect configuration object
|
|
79
|
+
*/
|
|
80
|
+
static config(key: string): {
|
|
81
|
+
blur?: number;
|
|
82
|
+
offsetX?: number;
|
|
83
|
+
offsetY?: number;
|
|
84
|
+
color?: string;
|
|
85
|
+
alpha?: number;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Get all available effect tokens from current theme
|
|
89
|
+
* @returns Array of effect token keys
|
|
90
|
+
*/
|
|
91
|
+
static getAvailableEffects(): string[];
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=font-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-picker.d.ts","sourceRoot":"","sources":["../../src/font/font-picker.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,UAAU;IACrB;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAuBlC;;;OAGG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM,EAAE;CAOrC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAkC9B;;;OAGG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;CAOvC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC;IA8BD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB;IAsBD;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAQzC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;CAuB3C;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAmBD;;;OAGG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;CAOvC"}
|