mirror of
https://github.com/flame-engine/flame.git
synced 2025-11-01 19:12:31 +08:00
docs: Fix non-web examples (#2411)
Fix build for non-web platforms, by hiding dart:html into platform-specific import.
This commit is contained in:
1
examples/.gitignore
vendored
1
examples/.gitignore
vendored
@ -1,7 +1,6 @@
|
|||||||
linux/
|
linux/
|
||||||
macos/
|
macos/
|
||||||
windows/
|
windows/
|
||||||
test/
|
|
||||||
|
|
||||||
# Miscellaneous
|
# Miscellaneous
|
||||||
*.class
|
*.class
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import 'dart:html';
|
|
||||||
import 'package:dashbook/dashbook.dart';
|
import 'package:dashbook/dashbook.dart';
|
||||||
|
import 'package:examples/platform/stub_provider.dart'
|
||||||
|
if (dart.library.html) 'platform/web_provider.dart';
|
||||||
import 'package:examples/stories/animations/animations.dart';
|
import 'package:examples/stories/animations/animations.dart';
|
||||||
import 'package:examples/stories/bridge_libraries/audio/audio.dart';
|
import 'package:examples/stories/bridge_libraries/audio/audio.dart';
|
||||||
import 'package:examples/stories/bridge_libraries/flame_isolate/isolate.dart';
|
import 'package:examples/stories/bridge_libraries/flame_isolate/isolate.dart';
|
||||||
@ -29,10 +30,7 @@ import 'package:flame/game.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
var page = window.location.search ?? '';
|
final page = PageProviderImpl().getPage();
|
||||||
if (page.startsWith('?')) {
|
|
||||||
page = page.substring(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
final routes = <String, FlameGame Function()>{
|
final routes = <String, FlameGame Function()>{
|
||||||
'constant_volume_joint': ConstantVolumeJointExample.new,
|
'constant_volume_joint': ConstantVolumeJointExample.new,
|
||||||
|
|||||||
3
examples/lib/platform/page_provider.dart
Normal file
3
examples/lib/platform/page_provider.dart
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
abstract class PageProvider {
|
||||||
|
String? getPage();
|
||||||
|
}
|
||||||
8
examples/lib/platform/stub_provider.dart
Normal file
8
examples/lib/platform/stub_provider.dart
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import 'package:examples/platform/page_provider.dart';
|
||||||
|
|
||||||
|
class PageProviderImpl extends PageProvider {
|
||||||
|
@override
|
||||||
|
String? getPage() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
13
examples/lib/platform/web_provider.dart
Normal file
13
examples/lib/platform/web_provider.dart
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import 'dart:html';
|
||||||
|
import 'package:examples/platform/page_provider.dart';
|
||||||
|
|
||||||
|
class PageProviderImpl extends PageProvider {
|
||||||
|
@override
|
||||||
|
String? getPage() {
|
||||||
|
var page = window.location.search ?? '';
|
||||||
|
if (page.startsWith('?')) {
|
||||||
|
page = page.substring(1);
|
||||||
|
}
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -26,6 +26,7 @@ dependencies:
|
|||||||
padracing: ^1.0.0
|
padracing: ^1.0.0
|
||||||
provider: ^6.0.3
|
provider: ^6.0.3
|
||||||
rogue_shooter: ^0.1.0
|
rogue_shooter: ^0.1.0
|
||||||
|
test: ^1.23.1
|
||||||
trex_game: ^0.1.0
|
trex_game: ^0.1.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
|||||||
6
examples/test/main_test.dart
Normal file
6
examples/test/main_test.dart
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import 'package:examples/main.dart' as examples;
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
test('main', examples.main);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user