public void ClickSave() { InitialConfigLoader loader = new InitialConfigLoader(); InitialConfigurations config = loader.loadInitialConfig(); List <BarrierConfigurations> newBarrierConfig = new List <BarrierConfigurations>(); for (int i = 0; i < config.barrierConfig.Count; i++) { string GOname = "BarrierSkin " + i; var skinitem = barrierMenu.transform.Find("Panel").Find("Scroll Rect").Find("Content Panel").Find(GOname).Find("Panel"); BarrierConfigurations barrieritem = new BarrierConfigurations(); barrieritem.name = skinitem.Find("TextName").GetComponent <Text>().text; barrieritem.width = float.Parse(skinitem.Find("InputField_Thickness").GetComponent <InputField>().text); barrieritem.height = float.Parse(skinitem.Find("InputField_Height").GetComponent <InputField>().text); barrieritem.Path = materialPaths[i]; if (isTextureChanged[i]) { Material mat = (Material)Resources.Load(barrieritem.Path); byte[] fileData = File.ReadAllBytes(texturePaths[i]); Texture2D tex = new Texture2D(2, 2); tex.LoadImage(fileData); mat.mainTexture = tex; mat.mainTextureScale = new Vector2(5, 1); } } config.barrierConfig = newBarrierConfig; loader.saveInitialConfig(Path.Combine(Application.persistentDataPath, "ConfigFiles/initialConfig.xml"), config); barrierMenu.SetActive(false); }
public Barrier(Way w, List <BarrierConfigurations> config) { id = w.id; type = getBarrierType(w.tags); barrierConfig = getBarrierConfiguration(config, type); height = barrierConfig.height; thickness = barrierConfig.width; barrierMaterial = (Material)Resources.Load(barrierConfig.Path); BarrierContainer = new GameObject("Barrier" + w.id); BarrierContainer.transform.position = new Vector3(0, 0, 0); BarrierElements = new List <GameObject>(); barrierWay = w; generateBarrier(w); }