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/
|
||||
macos/
|
||||
windows/
|
||||
test/
|
||||
|
||||
# Miscellaneous
|
||||
*.class
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import 'dart:html';
|
||||
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/bridge_libraries/audio/audio.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';
|
||||
|
||||
void main() {
|
||||
var page = window.location.search ?? '';
|
||||
if (page.startsWith('?')) {
|
||||
page = page.substring(1);
|
||||
}
|
||||
final page = PageProviderImpl().getPage();
|
||||
|
||||
final routes = <String, FlameGame Function()>{
|
||||
'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
|
||||
provider: ^6.0.3
|
||||
rogue_shooter: ^0.1.0
|
||||
test: ^1.23.1
|
||||
trex_game: ^0.1.0
|
||||
|
||||
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