Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(382)

Unified Diff: sky/sdk/example/game/main.dart

Issue 1227373004: Make Sky example game run offline (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sky/sdk/example/game/main.dart
diff --git a/sky/sdk/example/game/main.dart b/sky/sdk/example/game/main.dart
index 691fb249caa627bd271cc75f115450e23002c1a2..f5e2de9fe94b47e71ad37e8bf0c40886563d51f1 100644
--- a/sky/sdk/example/game/main.dart
+++ b/sky/sdk/example/game/main.dart
@@ -1,34 +1,39 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:sky/mojo/asset_bundle.dart';
import 'package:sky/widgets/basic.dart';
import 'package:sky/widgets/widget.dart';
-import 'package:sky/mojo/net/fetch.dart';
import 'lib/game_demo.dart';
import 'lib/sprites.dart';
-void main() {
- // Load images
- new ImageMap([
- "res/nebula.png",
- "res/sprites.png",
- "res/starfield.png",
- ],
- allImagesLoaded);
+AssetBundle _initBundle() {
+ if (rootBundle != null)
+ return rootBundle;
+ return new NetworkAssetBundle(Uri.base);
}
-void allImagesLoaded(ImageMap loader) {
- _loader = loader;
-
- fetchBody("res/sprites.json").then((Response response) {
- String json = response.bodyAsString();
- _spriteSheet = new SpriteSheet(_loader["res/sprites.png"], json);
- allResourcesLoaded();
- });
-}
+final AssetBundle _bundle = _initBundle();
+ImageMap _loader;
+SpriteSheet _spriteSheet;
GameDemoApp _app;
-void allResourcesLoaded() {
+main() async {
+ _loader = new ImageMap(_bundle);
+
+ await _loader.load([
+ 'assets/nebula.png',
+ 'assets/sprites.png',
+ 'assets/starfield.png',
+ ]);
+
+ String json = await _bundle.loadString('assets/sprites.json');
+ _spriteSheet = new SpriteSheet(_loader['assets/sprites.png'], json);
_app = new GameDemoApp();
+
runApp(_app);
}
@@ -58,6 +63,3 @@ class GameDemoApp extends App {
void resetGame() {
_app.scheduleBuild();
}
-
-ImageMap _loader;
-SpriteSheet _spriteSheet;

Powered by Google App Engine
This is Rietveld 408576698