aboutsummaryrefslogtreecommitdiff
path: root/js/lib/rdge/materials/radial-blur-material.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/lib/rdge/materials/radial-blur-material.js')
-rw-r--r--js/lib/rdge/materials/radial-blur-material.js73
1 files changed, 71 insertions, 2 deletions
diff --git a/js/lib/rdge/materials/radial-blur-material.js b/js/lib/rdge/materials/radial-blur-material.js
index 46cdda74..fee02a1d 100644
--- a/js/lib/rdge/materials/radial-blur-material.js
+++ b/js/lib/rdge/materials/radial-blur-material.js
@@ -157,6 +157,38 @@ var RadialBlurMaterial = function RadialBlurMaterial() {
157 } 157 }
158 }; 158 };
159 159
160 this.exportJSON = function()
161 {
162 var jObj =
163 {
164 'material' : this.getShaderName(),
165 'name' : this.getName(),
166 'color' : this._propValues["color"],
167 'texture' : this._propValues[this._propNames[0]]
168 };
169
170 return jObj;
171 };
172
173 this.importJSON = function( jObj )
174 {
175 if (this.getShaderName() != jObj.material) throw new Error( "ill-formed material" );
176 this.setName( jObj.name );
177
178 var rtnStr;
179 try
180 {
181 this._propValues[this._propNames[0]] = jObj.texture;
182 this.updateTexture();
183 }
184 catch (e)
185 {
186 throw new Error( "could not import material: " + importStr );
187 }
188
189 return rtnStr;
190 }
191
160 this.export = function() { 192 this.export = function() {
161 // every material needs the base type and instance name 193 // every material needs the base type and instance name
162 var exportStr = "material: " + this.getShaderName() + "\n"; 194 var exportStr = "material: " + this.getShaderName() + "\n";
@@ -242,10 +274,47 @@ var radialBlurMaterialDef =
242 } 274 }
243}; 275};
244 276
277
278var RaidersMaterial = function RaidersMaterial()
279{
280 // initialize the inherited members
281 this.inheritedFrom = RadialBlurMaterial;
282 this.inheritedFrom();
283
284 this._name = "RaidersMaterial";
285 this._shaderName = "raiders";
286
287 this._texMap = 'assets/images/raiders.png';
288 this._propValues[ this._propNames[0] ] = this._texMap.slice(0);
289
290
291 // duplcate method requirde
292 this.dup = function( world ) {
293 // allocate a new uber material
294 var newMat = new RaidersMaterial();
295
296 // copy over the current values;
297 var propNames = [], propValues = [], propTypes = [], propLabels = [];
298 this.getAllProperties( propNames, propValues, propTypes, propLabels);
299 var n = propNames.length;
300 for (var i=0; i<n; i++)
301 newMat.setProperty( propNames[i], propValues[i] );
302
303 return newMat;
304 };
305}
306
307RaidersMaterial.prototype = new Material();
308
309if (typeof exports === "object")
310{
311 exports.RaidersMaterial = RaidersMaterial;
312}
313
314
245RadialBlurMaterial.prototype = new Material(); 315RadialBlurMaterial.prototype = new Material();
246 316
247if (typeof exports === "object") { 317if (typeof exports === "object")
248 exports.RadialBlurMaterial = RadialBlurMaterial; 318 exports.RadialBlurMaterial = RadialBlurMaterial;
249}
250 319
251 320