public MQOMaterial(string name) { Name = name; Tex = ""; Alpha = ""; Bump = ""; Color = new MQOColor(); }
public void Dispose() { Name = null; Tex = null; Spa = null; Alpha = null; Bump = null; Color = null; }
internal bool parseParams(string str) { var mc = new Regex("(?<key>\\w+)\\((?:\"(?<val>.*)\"|(?<val>[^\\)]+))\\)", RegexOptions.Compiled).Matches(str); foreach (Match m in mc) { var key = m.Groups["key"].Value; var val = m.Groups["val"].Value; switch (key) { case "shader": shader = val; break; case "tex": String[] TexTemp = val.Split('*'); try { Tex = TexTemp[0]; Spa = TexTemp[1]; } catch (Exception) { } //Tex = val; break; case "aplane": Alpha = val; break; case "bump": Bump = val; break; case "col": var c = new Regex(@"(-?\d+(?:\.\d+)?)", RegexOptions.Compiled).Matches(val); if (c.Count != 4) { return(false); } var Color = new MQOColor(); for (var i = 0; i < 4; i++) { Color.SetValue(i, decimal.Parse(c[i].Groups[0].Value)); } break; case "dif": Diffuse = float.Parse(val); break; case "amb": Ambient = float.Parse(val); break; case "emi": Emission = float.Parse(val); break; case "spc": Specular = float.Parse(val); break; case "power": Power = float.Parse(val); break; case "uid": uid = decimal.Parse(val); break; case "dbls": dbls = decimal.Parse(val); break; default: Console.WriteLine(); break; } } return(true); }