aboutsummaryrefslogtreecommitdiff
path: root/js/helper-classes/RDGE/Materials/FlatMaterial.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/helper-classes/RDGE/Materials/FlatMaterial.js')
-rw-r--r--js/helper-classes/RDGE/Materials/FlatMaterial.js32
1 files changed, 24 insertions, 8 deletions
diff --git a/js/helper-classes/RDGE/Materials/FlatMaterial.js b/js/helper-classes/RDGE/Materials/FlatMaterial.js
index 3e3ae25e..83da145e 100644
--- a/js/helper-classes/RDGE/Materials/FlatMaterial.js
+++ b/js/helper-classes/RDGE/Materials/FlatMaterial.js
@@ -71,10 +71,11 @@ function FlatMaterial()
71 71
72 this.setProperty = function( prop, value ) 72 this.setProperty = function( prop, value )
73 { 73 {
74 // make sure we have legitimate imput 74 // make sure we have legitimate input
75 if (this.validateProperty( prop, value )) 75 if (this.validateProperty( prop, value ))
76 { 76 {
77 this._color = value.slice(0); 77 this._propValues[prop] = value;
78 if (this._shader && this._shader.colorMe)
78 this._shader.colorMe[prop].set(value); 79 this._shader.colorMe[prop].set(value);
79 } 80 }
80 } 81 }
@@ -84,7 +85,7 @@ function FlatMaterial()
84 { 85 {
85 // this function should be overridden by subclasses 86 // this function should be overridden by subclasses
86 var exportStr = "material: " + this.getShaderName() + "\n"; 87 var exportStr = "material: " + this.getShaderName() + "\n";
87 exportStr = "name: " + this.getName() + "\n"; 88 exportStr += "name: " + this.getName() + "\n";
88 89
89 if (this._shader) 90 if (this._shader)
90 exportStr += "color: " + String(this._shader.colorMe.color) + "\n"; 91 exportStr += "color: " + String(this._shader.colorMe.color) + "\n";
@@ -100,19 +101,34 @@ function FlatMaterial()
100 var pu = new ParseUtils( importStr ); 101 var pu = new ParseUtils( importStr );
101 var material = pu.nextValue( "material: " ); 102 var material = pu.nextValue( "material: " );
102 if (material != this.getShaderName()) throw new Error( "ill-formed material" ); 103 if (material != this.getShaderName()) throw new Error( "ill-formed material" );
103 this.setName( pu.nextValue( "material: ") ); 104 this.setName( pu.nextValue( "name: ") );
104 var color = pu.nextValue( "color: " ); 105
106 var rtnStr;
107 try
108 {
109 var color = eval( "[" + pu.nextValue( "color: " ) + "]" );
110
111 this.setProperty( "color", color);
105 112
106 var endKey = "endMaterial\n"; 113 var endKey = "endMaterial\n";
107 var index = importStr.indexOf( endKey ) + endKey.len; 114 var index = importStr.indexOf( endKey );
108 var rtnStr = importStr.substr( index ); 115 index += endKey.length;
116 rtnStr = importStr.substr( index );
117 }
118 catch (e)
119 {
120 throw new Error( "could not import material: " + importStr );
121 }
122
109 return rtnStr; 123 return rtnStr;
110 } 124 }
111 125
112 this.update = function( time ) 126 this.update = function( time )
113 { 127 {
114 } 128 }
115} 129
130// used to create unique names
131var flatMaterialCounter = 0;
116 132
117/////////////////////////////////////////////////////////////////////////////////////// 133///////////////////////////////////////////////////////////////////////////////////////
118// RDGE shader 134// RDGE shader