public static void RefreshAtlas(UITextureAtlas atlas) { Texture2D[] textures = new Texture2D[atlas.sprites.Count]; int i = 0; foreach (UITextureAtlas.SpriteInfo sprite in atlas.sprites) { textures[i++] = sprite.texture; } atlas.AddTextures(textures); }
public UserInterface() { instance = this; UIView view = GameObject.FindObjectOfType <UIView> (); if (view == null) { return; } UIComponent bulldozerBar = UIView.Find("BulldozerBar"); if (bulldozerBar == null) { return; } try { XmlSerializer serializer = new XmlSerializer(typeof(XmlData)); using (StreamReader reader = new StreamReader("V10Bulldoze.xml")) { data = (XmlData)serializer.Deserialize(reader); reader.Close(); } } catch (FileNotFoundException) { // No options file yet data = new XmlData(); data.needSave = true; } catch (Exception e) { Debug.Log("V10Bulldoze: " + e.GetType().Name + " while reading xml file: " + e.Message + "\n" + e.StackTrace + "\n\n"); if (e.InnerException != null) { Debug.Log("Caused by: " + e.InnerException.GetType().Name + ": " + e.InnerException.Message + "\n" + e.InnerException.StackTrace); } return; } //1.X -> 1.3 if (data.version < 1.3d) { // Everything has already been setted to its default value, so let's just adjust the version and save. data.version = 1.3d; data.needSave = true; } abandonedButton = new GameObject("V10Bulldoze abandoned button"); burnedButton = new GameObject("V10Bulldoze burned button"); audioButton = new GameObject("V10Bulldoze audio button"); Transform parent = bulldozerBar.transform; abandonedButton.transform.parent = parent; burnedButton.transform.parent = parent; audioButton.transform.parent = parent; Shader shader = Shader.Find("UI/Default UI Shader"); if (shader == null) { Debug.Log("V10Bulldoze: Can't find default UI shader."); shader = new Shader(); shader.name = "V10Bulldoze dummy shader"; } UITextureAtlas atlas = ScriptableObject.CreateInstance <UITextureAtlas> (); atlas.name = "V10Bulldoze Atlas"; atlas.material = new Material(shader); atlas.material.mainTexture = new Texture2D(0, 0, TextureFormat.DXT5, false); FastList <Texture2D> list = new FastList <Texture2D> (); list.EnsureCapacity(18); UIButton button = abandonedButton.AddComponent <UIButton> (); button.relativePosition = new Vector3(7.0f, -57.0f); initButton("AbandonedButton", button, list, data.abandoned, "Demolish Abandoned", view); button.atlas = atlas; button = burnedButton.AddComponent <UIButton> (); button.relativePosition = new Vector3((float)(7 + buttonSize + 7), -57.0f); initButton("BurnedButton", button, list, data.burned, "Demolish Burned", view); button.atlas = atlas; button = audioButton.AddComponent <UIButton> (); button.relativePosition = new Vector3((float)(7 + buttonSize + 7 + buttonSize + 7), -57.0f); initButton("AudioButton", button, list, !data.disableEffect, "Mute Bulldozing", view); button.atlas = atlas; atlas.AddTextures(list.ToArray()); }