This is one of the most valuable contributions to the Unity Community!! Thanks!!
I'm testing here and is working very well!
UItoolkit is the king of data presentation, I wanted to share what I figured out with other people. I'm like to automate things. My handle should have been 'The Automator" However, UniDDatabase, is the king of data management. When I combined the two I get magic. Here is what I had before UIToolkit. All I'll have to do is scrape out the Unity GUI and plug in UIToolkit and I'm in business. The only thing missing is the mouse over effect. I'm a little disappointed Prime31 hasn't responded to any of my messages yet.
Here is a link to my page for more info.
@namoricoo, what messages are you referring to? I don't recall receiving any emails from you...
I sent you one PM, I try not to dwell too much on the past. At the moment I only have one problem. I'm just looking to implement a mouse over effect for PC and Mac games. Everything else is working great. I love UIToolkit. I understand you are busy. On Page 27 I posted how I've been stuck trying to get mouse over picture to work. We can share it with the community when it's done. I also shared the following progress with the community.
1)After changing the name from Json to TXT. I added the following line of code:"public TextAsset texturePackerConfigTxtFile; " above "texturePackerConfigName;" in the UISpriteManager script. I also added
"//Set the name of texturePackerConfigName
Now the users are able to get the name of the file without having to type it in themselves. All they have to do is click open and search for the file in the inspector. They might also need to change the execution order of they script to make sure UI and UIToolkit get executed first.
Mouse over can be added just like highlight. The idea is nearly identical with the only difference being all the code would need to be wrapped in compiler directives to keep it from running in touch based devices.
In "UIButton create", I added
mouseOverButton is a bool at the top and I give access to it with a static function in order to see when a mouse over is present. if(frame.Contains(Input.mousePosition) ) is only thing needed for mouse over. I think I need some more code in other files. This is where I get stuck. You might be able to see what I'm missing from the other files because you have greater insight into UIToolkit.
@namoricoo, the mouse over code should be almost a copy/paste of the highlight code already present in UIToolkit. Check out the code the UISpriteManager uses for highlighting.
@namoricoo, the joy of an open source project is that the community can make modifications that then get commited back to the mainline so everyone can benefit. Github makes this really, really easy with it's pull requests. I just added the basis of hover states the but TextAsset change doesn't really make much sense because UIToolkit needs to know the name to get at the 2x version of the file if required. I also manages the loading of the file efficiently removing from memory the contents of the file as soon as it is parsed.
I'm struggling with UIText. I replaced the Font from the included TextTest scene with my font created with Angelcode BM Font Generator. Actually I get this error message when hitting playbutton:
IndexOutOfRangeException: Array index is out of range.
UIText.loadConfigfile (System.String filename) (at Assets/Plugins/UIToolkit/UIElements/UIText.cs:216)
UIText..ctor (.UIToolkit manager, System.String fontFilename, System.String textureFilename) (at Assets/Plugins/UIToolkit/UIElements/UIText.cs:173)
UIText..ctor (System.String fontFilename, System.String textureFilename)
TextManager.Start () (at Assets/DemoSceneScripts/TextManager.cs:1
I tried Hiero also. Seems I include the Hiero files correctly as these files do work but the characters get blured in large areas and renders the Bitmap Font unusable (I'm not talking about the flipped Bitmap problem). It's also not possible to use characters other than from ASCII Space (? please correct me if I'm wrong).
Any ideas what's going on here?
@synapse, I'm not sure what is going on with Angel bit I believe you can enter any characters you want in Hiero. There is a box where you can pick your charset (assuming the font has them).
In theory you can do this, due tu buginess it's impossible to copy paste, thus a bit tedious to figure out which characters are missing and then typing it by hand into hiero, just after figuring out how to type the more exotic characters at all. I was suspecting that my pixelfont has too many characters in the charset. The cached charset of my font seems to include 350 characters (unicode). Too many maybe? After trying a bit, it seems the files generated by Angelcode work with my pixelfont and a decreased charset using ANSI.
I really appreciate UIToolkit!!! I considered using UIText to squeeze a bit performance (draw calls) but also run into problems when building to iPad: while all files are at their place it's throwing a bad access when using UIText. That doesn't happen with my other devices.
@synapse, did you either (a) uncheck the use HD textures checkbox or (b) add 2x textures and font files for the higher resolution screen of the iPad? What are the details of the error message?
What is the best way to to create a sprite with zero functionality? Purely vanity.
@helios, the addSprite method creates a plain old sprite.
First off, I just wanted to say thanks for UIToolkit. It's been incredibly helpful already in simplifying the UI code for my app
I'm new to iOS development, though quite accustomed to Unity development. I'm having trouble wrapping my head around how UIToolkit handles the differences in resolution between the iPhone models and the iPad.
I understand how adding '2x' to the atlas allows UIToolkit to handle both SD and HD images, but what is the recommended approach for supporting the iPad's 1024x768 resolution? Is this a solved problem, or do I basically have to create a third atlas for iPad textures and then specify which toolkit to use (iPhone or iPad) when creating all of my UI controls based on the configuration of the device?
@zaikman, I personally use the HD images for the iPad and retina devices. The hassle of making a third set of images that are only a tiny bit bigger than the HD images (1024x768 vs 960x640) doesn't seem worth it in most cases and that is coming from someone who is pretty anal All the positioning methods will auto adjust for HD vs SD so you should only have to make your HUD once. The really anal types (like me) might end up with a few objects that have custom positioning for iPad vs HD but for the most part it should be pretty close.
Hmmm...That's a good point. I guess the difference between the two high end specs is pretty negligible. Now that I think about it, none of the assets would really have to change, except for the background sprites for some of the UI pages to avoid the letterbox effect.
Thanks for your response!
So I've got UIButtons working and adding them to layouts working but I can't seem to figure out how to just create a sprite by itself as UISprite doesn't have a create() function and I can't find any examples of simply creating sprites. :T