Пример #1
0
        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);
        }
Пример #2
0
        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());
        }