private void ParseValues(Lua.lua_State L) { #if WINDOWS_PHONE String valueDirectoriesString = ""; Lua.lua_getglobal(L, "WP7ValueDirectories"); if (Lua.lua_isstring(L, -1) != 0) { valueDirectoriesString = Lua.lua_tostring(L, -1).toString(); } Lua.lua_pop(L, 1); String[] valueDirectories = valueDirectoriesString.Split(new char[] { ',' }); #else String[] valueDirectories = LuaResource.GetResourceDirectories(LuaEngine.LUA_VALUES_FOLDER); #endif List <DynamicResource> clearedDirectoryList = new List <DynamicResource>(); //Eliminate non version type values Tester(valueDirectories, LuaEngine.LUA_VALUES_FOLDER, ref clearedDirectoryList); #if WINDOWS_PHONE String valueFilesString = ""; Lua.lua_getglobal(L, "WP7ValueFiles"); if (Lua.lua_isstring(L, -1) != 0) { valueFilesString = Lua.lua_tostring(L, -1).toString(); } Lua.lua_pop(L, 1); String[] valueFiles = valueFilesString.Split(new char[] { ',' }); //System.Threading.Thread.CurrentThread.CurrentCulture //((PhoneApplicationFrame)Application.Current.RootVisual).Orientation foreach (String valueFile in valueFiles) { String[] fileArr = valueFile.Split(new char[] { '|' }); String directory = valueDirectories[Convert.ToInt32(fileArr[0])]; bool found = false; int orientation = 0; foreach (DynamicResource dr in clearedDirectoryList) { if (((String)dr.data) == directory) { found = true; orientation = dr.orientation; break; } } if (!found) { continue; } LuaStream dat = LuaResource.GetResource(LuaEngine.LUA_RESOURCE_FOLDER + "/" + LuaEngine.Instance.GetUIRoot() + "/" + directory + "/", fileArr[1]); if (dat.GetStream() != null) { XDocument parse; try { parse = XDocument.Load((Stream)dat.GetStream()); String name = parse.Root.Name.LocalName; if (name == "resources") { foreach (XElement child in parse.Root.Elements()) { String childName = child.Name.LocalName; if (childName == "color") { ColorParser.ParseXML(orientation, child); } else if (childName == "dimen") { DimensionParser.ParseXML(orientation, child); } else if (childName == "string") { StringParser.ParseXML(orientation, child); } } } } catch (Exception ex) { } } } #else foreach (DynamicResource dr in clearedDirectoryList) { String[] filesOfClearFolder = LuaResource.GetResourceFiles((String)dr.data); foreach (String file in filesOfClearFolder) { LuaStream dat = LuaResource.GetResource(LuaEngine.LUA_RESOURCE_FOLDER + "/" + LuaEngine.Instance.GetUIRoot() + "/" + dr.data + "/", file); if (dat.GetStream() != null) { XDocument parse; try { parse = XDocument.Load((Stream)dat.GetStream()); String name = parse.Root.Name.LocalName; if (name == "resources") { foreach (XElement child in parse.Root.Elements()) { String childName = child.Name.LocalName; if (childName == "color") { ColorParser.ParseXML(dr.orientation, child); } else if (childName == "dimen") { DimensionParser.ParseXML(dr.orientation, child); } else if (childName == "string") { StringParser.ParseXML(dr.orientation, child); } } } } catch (Exception ex) { } } } } #endif }