// Copyright 2012 United States Government, as represented by the Secretary of Defense, Under // Secretary of Defense (Personnel & Readiness). // // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software distributed under the License // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under // the License. /// vwf/model/example/scene.js is a demonstration of a scene manager. /// /// @module vwf/model/example/scene /// @requires vwf/model define( [ "module", "vwf/model" ], function( module, model ) { return model.load( module, { // == Module Definition ==================================================================== // -- pipeline ----------------------------------------------------------------------------- // pipeline: [ log ], // vwf <=> log <=> scene // -- initialize --------------------------------------------------------------------------- initialize: function() { this.objects = {}; // maps id => { property: value, ... } }, // == Model API ============================================================================ // -- creatingNode ------------------------------------------------------------------------- creatingNode: function( nodeID, childID, childExtendsID, childImplementsIDs, childSource, childType, childIndex, childName, callback /* ( ready ) */ ) { }, // -- deletingNode ------------------------------------------------------------------------- deletingNode: function( nodeID ) { }, // -- addingChild -------------------------------------------------------------------------- addingChild: function( nodeID, childID, childName ) { }, // -- removingChild ------------------------------------------------------------------------ removingChild: function( nodeID, childID ) { }, // -- creatingProperty --------------------------------------------------------------------- creatingProperty: function( nodeID, propertyName, propertyValue ) { var object = this.objects[nodeID] || ( this.objects[nodeID] = {} ); return object[propertyName] = propertyValue; }, // -- initializingProperty ----------------------------------------------------------------- initializingProperty: function( nodeID, propertyName, propertyValue ) { var object = this.objects[nodeID] || ( this.objects[nodeID] = {} ); return object[propertyName] = propertyValue; }, // TODO: deletingProperty // -- settingProperty ---------------------------------------------------------------------- settingProperty: function( nodeID, propertyName, propertyValue ) { var object = this.objects[nodeID] || ( this.objects[nodeID] = {} ); return object[propertyName] = propertyValue; }, // -- gettingProperty ---------------------------------------------------------------------- gettingProperty: function( nodeID, propertyName, propertyValue ) { var object = this.objects[nodeID]; return object && object[propertyName]; }, // -- creatingMethod ----------------------------------------------------------------------- creatingMethod: function( nodeID, methodName, methodParameters, methodBody ) { }, // TODO: deletingMethod // -- callingMethod ------------------------------------------------------------------------ callingMethod: function( nodeID, methodName, methodParameters ) { }, // -- creatingEvent ------------------------------------------------------------------------ creatingEvent: function( nodeID, eventName, eventParameters ) { }, // TODO: deletingEvent // -- firingEvent -------------------------------------------------------------------------- firingEvent: function( nodeID, eventName, eventParameters ) { }, // -- executing ---------------------------------------------------------------------------- executing: function( nodeID, scriptText, scriptType ) { }, } ); } );