|
|
- define(["sugar-web/activity/activity","sugar-web/graphics/radiobuttonsgroup","gearsketch_main"], function (activity,radioButtonsGroup) {
-
- // Manipulate the DOM only when it is ready.
- requirejs(['domReady!'], function (doc) {
-
- var gearSketch;
-
- // Initialize the activity.
- activity.setup();
-
- var stopButton = document.getElementById("stop-button");
- stopButton.addEventListener('click', function (event) {
- console.log("writing...");
- var jsonData = JSON.stringify(gearSketch.board);
- activity.getDatastoreObject().setDataAsText(jsonData);
- activity.getDatastoreObject().save(function (error) {
- if (error === null) {
- console.log("write done.");
- }
- else {
- console.log("write failed.");
- }
- });
- });
-
- gearSketch = new window.gearsketch.GearSketch(false);
-
- // Read from the datastore
- var datastoreObject = activity.getDatastoreObject();
- function onLoaded(error, metadata, jsonData) {
- if (error === null) {
- gearSketch.board = window.gearsketch.model.Board.
- fromObject(JSON.parse(jsonData));
- console.log("read done.");
- }
- else {
- console.log("read failed.");
- }
- }
- datastoreObject.loadAsText(onLoaded);
-
- var radioButtons;
- var gearButton = document.getElementById("gear-button");
- var chainButton = document.getElementById("chain-button");
- var momentumButton = document.getElementById("momentum-button");
- var playButton = document.getElementById("play-button");
-
- var buttonNames = {
- "gearButton": gearButton,
- "chainButton": chainButton,
- "momentumButton": momentumButton,
- "playButton": playButton
- };
-
- gearSketch.selectButton = function (buttonName) {
- return this.selectedButton = buttonName;
- }
-
- // Gear button.
- gearButton.addEventListener('click', function (event) {
- if (gearSketch.isDemoPlaying) {
- gearSketch.stopDemo();
- }
- gearSketch.selectButton("gearButton");
- });
-
- // Chain button.
- chainButton.addEventListener('click', function (event) {
- if (gearSketch.isDemoPlaying) {
- gearSketch.stopDemo();
- }
- gearSketch.selectButton("chainButton");
- });
-
- // Momentum button.
- momentumButton.addEventListener('click', function (event) {
- if (gearSketch.isDemoPlaying) {
- gearSketch.stopDemo();
- }
- gearSketch.selectButton("momentumButton");
- });
-
- // Play button.
- playButton.addEventListener('click', function (event) {
- if (gearSketch.isDemoPlaying) {
- gearSketch.stopDemo();
- }
- if(gearSketch.selectedButton == "playButton"){
- gearSketch.selectButton(null);
- }
- else{
- gearSketch.selectButton("playButton");
- }
- });
-
- radioButtons = new radioButtonsGroup.RadioButtonsGroup(
- [gearButton, chainButton, momentumButton, playButton]);
-
- // Clear button.
- var clearButton = document.getElementById("clear-button");
- clearButton.addEventListener('click', function (event) {
- if (gearSketch.isDemoPlaying) {
- gearSketch.showButtons = false;
- gearSketch.stopDemo();
- return;
- }
- gearSketch.board.clear();
- });
-
- // Help button.
- var helpButton = document.getElementById("help-button");
- helpButton.addEventListener('click', function (event) {
- if (gearSketch.isDemoPlaying) {
- gearSketch.stopDemo();
- return;
- }
- gearSketch.playDemo();
- });
-
- });
-
- });
|