Search Unity

DoozyUI: Complete UI Management System

Discussion in 'Assets and Asset Store' started by AlexMares, Apr 13, 2016.

?

Would you like to see a free version of DoozyUI with limited features?

Poll closed May 12, 2016.
  1. Yes

    1 vote(s)
    33.3%
  2. No

    2 vote(s)
    66.7%
  1. thedailyasset

    thedailyasset

    Joined:
    Jul 16, 2016
    Posts:
    10
  2. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Thank you @thedailyasset for your support and for that wonderful review! :)

    Cheers,
    Alex
     
    Last edited: Aug 24, 2016
  3. DwinTeimlon

    DwinTeimlon

    Joined:
    Feb 25, 2016
    Posts:
    300
    Great to hear! :)

    I found another issue and it is probably related to the same thing:
    Code (CSharp):
    1.  
    2. void SendGameEvents()
    3. {
    4.      StartCoroutine("SendGameEventsBetweenFrames");
    5. }
    6.  
    This crashes on fast clicks when "allowMultipleClicks" is disabled as the button is disabled. The below code fixes the issue.

    Code (CSharp):
    1.  
    2. void SendGameEvents()
    3. {
    4.       if (!gameObject.activeSelf)
    5.       return;
    6.  
    7.       StartCoroutine("SendGameEventsBetweenFrames");
    8. }
    9.  


    The freezes have gone away, maybe it was something completely different. I will let you know when we have tracked done it a little more.

    I am ok for now, I will let you know, if we experience other problems.

    Great, looking forward to this new version! :)

    Feature Request: :)
    It would be really awesome if notifications would be destroyed on button clicks, when those buttons are registered in the UINotification Inspector. At the moment this works only for one close button or to provide all button names when calling the notification.

    I have also not found an easy way to close all open notifications. What I am currently doing is this. But, I had to make a small change at the doozy ui code base to make this work.

    Code (CSharp):
    1.  
    2. public void HideAllNotifications()
    3. {
    4.     UINotification[] notificationList = UIContainer.GetComponentsInChildren<UINotification>();
    5.     for (int index = 0; index < notificationList.Length; index++)
    6.     {
    7.          UINotification notification = notificationList[index];
    8.          UIManager.HideUiElement(notification.notificationContainer.
    9.          elementNameReference.elementName);
    10.          Destroy(notification.gameObject, notificationList[index].GetOutAnimationsTimeAndDelay());
    11.      }
    12. }
    13.  
     
    Last edited: Aug 25, 2016
  4. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi,

    That 'allowMultipleClicks' issue we did not encounter yet, but thank you for the fix. We will add it.

    It would be really awesome if notifications would be destroyed on button clicks, when those buttons are registered in the UINotification Inspector. At the moment this works only for one close button or to provide all button names when calling the notification.
    Ok. We can implement something like that. In 2.6 we are also adding the option to trigger a notification using a Transform (besides using a name of a resource file).

    If there is anything else, please let us know. :)

    Cheers,
    Alex
     
  5. DwinTeimlon

    DwinTeimlon

    Joined:
    Feb 25, 2016
    Posts:
    300
    Alex,

    I have a problem with Doozy UI in combination with EasyTouch. As soon as a UI Element is on the screen, EasyToch is not able to catch any touches or swipes when the mouse/finger is over a DoozyUI element. Would be great if you could make this plugin compatible as its widley used.

    Another strange behaviour is, that a simple Unity UI image over a DoozyUI element does not block any touches from buttons. Maybe I am doing something wrong, but I would expect that touches would be blocked.

    Is there any workaround, did I miss something?

    Thanks,
    Matthias
     
  6. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi Matthias,

    DoozyUI uses only native Unity UI components. Thus any asset that works with Unity's UI system is 100% compatible with DoozyUI. That was, and still is, one of the core principles that we used when we created DoozyUI.

    You might have messed up the settings in EasyTouch.
    If you look at the EasyTouch gameObject in your Hierarchy you will notice the first tab 'GUI compatibility'. If you read the EasyTouch documentation pdf (see page 14) you will learn the following things about the settings of that tab:
    1. Enable Unity UI detection - Enables or disables detection of selectable UI Element (this is the native Unity UI system)
    2. Unity UI compatibility
    Enable: EasyTouch doesn't fire gesture events if touch is over a UIElement.
    Disable: EasyTouch fires gesture events, and set isOverUIElement to true for gesture class
    3. Auto update picked Unity UI - Enable : EasyTouch update UI data at each frame

    Please try using those settings and see how the system behaves. Also, if you have a full screen invisible (empty) canvas with a Graphic Raycaster attached, that might be the reason the touches do not go through.

    Did this help you out?

    Cheers,
    Alex
     
  7. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi All,

    The game in this post has been made with DoozyUI. Our asset, combined with Playmaker, created the entire UI flow. You will see that with a few effects and a good UI logic you can create a first class UI experience.
    Below you will see a game-play trailer and if you also want to see the UI animations, effects and flow you should definitely install it and check it out.

    GameName: Pop Royale
    GameStudio: EZ ENTERTAINMENT
    GooglePlay: https://play.google.com/store/apps/details?id=eu.ezentertainment.poproyale
    TwitterAccount: https://twitter.com/EzGamesStudio

    GameplayTrailer



    If you have a game, that uses DoozyUI, we will be glad to promote it through our channels. Just let us know. :)

    Cheers,
    Alex
     
  8. DwinTeimlon

    DwinTeimlon

    Joined:
    Feb 25, 2016
    Posts:
    300
    Thanks that helped! :)

    On another node I have just realized that Doozy UI has a texture resource folder, which is actually fully linked in to a project build even though the textures are only used inside the editor. I would recommend not putting any textures in resource folders, as those are always included into builds.

    I recommend this link:
    http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder#.22Editor.22

    It boils actually down to using EditorGUIUtility.Load() instead of Resources.Load() and not putting files in "Resources" but into "Editor Default Resources" folder.

    I have actually just tested it. Renamed the "Resources" folder to "Editor Default Resources" and replaced Resources.Load() with EditorGUIUtility.Load() in DoozyUIResources.cs. Projekt got around 3mb smaller :).

    Cheers,
    Matthias
     
    Last edited: Sep 1, 2016
  9. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi Matthias,

    We already fixed this issue as of version 2.5 (the current version on the Asset Store). Here is an excerpt from the release notes:
    Version 2.5
    BREAKING CHANGES
    -- DoozyUI/Resources folder has been renamed to DoozyUI/Images. This also comes with some code changes in the DoozyUIResources. We did this because all of the DoozyUI inspector interface was added to builds and it increased the projects size without good reason. Please delete that Resources folder if it's still in your project after the update. This is an optimization that had to be done.

    Cheers,
    Alex ;)
     
  10. DwinTeimlon

    DwinTeimlon

    Joined:
    Feb 25, 2016
    Posts:
    300
    Oh damn! Good to know! Sorry not for not checking the new version first! :/

    Cheers,
    Matthias
     
  11. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    516
    Is it possible to implement a particle effect with highlighted animation. I wana make something like an overwatch UI where when u highlight a button praticle effect flows behind it.
     
  12. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi witcher101,

    Right now there isn't a straight forward way of doing that out of the box, but you can tweak the code to achieve your desired result. You have the full DoozyUI source code available and I believe it won't be that hard to tweak this.

    I will put this on the Research&Test internal board of the UIButton component for the next upgrade cycle. Right now we have double click and long click actions planned, but your idea seems very appealing.

    Thank you for your suggestion! :)

    Cheers,
    Alex
     
  13. raybarrera

    raybarrera

    Joined:
    Nov 20, 2010
    Posts:
    207
    @allemaar Running into a strange issue on both 5.3 and 5.4.
    I have a notification (which I'm using as a modal), and it has one button which I assign at runtime using the overloaded method to add buttons and labels to them from the docs.
    I have the button name assigned, and a trigger in the scene which listens for that button, and an event assigned which calls a method on a handler script.

    If I run the game in editor, I tap the button, it dismisses the notification, but it never fires the event. However, if I select the button first in the scene view, then tap the button in the game view, the event does fire correctly.
    Not sure what the deal is, but I was going nuts trying to figure out how to use the triggers + buttons. Any suggestions?
     
  14. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    516
    How does send game events work. There is nothing written about this on documentation nor in video tutorials
     
  15. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @raybarrera,

    This is all from the button setup. Can you please post a screenshot of the UIButton and one of the UINotification components as you have them in your scene and also the call you are using to show said UINotification? That way I'll be able to give you an informed solution.

    Cheers,
    Alex
     
  16. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @witcher101,

    The system is quite simple and it works as follows:
    1. You send a string (your gameEvent name)
    2. The UIManager receives said event and it checks in it's registries of all the relevant components (UITriggers, Playmaker Event Disaptchers and so on) if any of them listens for that event. For every component that does, it triggers it's methods. This is a very efficient and fast search by the way.

    If you want to trigger a method in your own scripts, instead of writing a lot of code to listen for every gameEvent and check it, you just set an UITrigger to do that for you. The UITrigger will register itself in the UIManager and will get activated only if the event that it listens to was sent; or it can get activated for all the gameEvents if it's set to do that as well.

    We have some video tutorials planned, right after the next update. We will also include one that covers this topic so that you'll have a better understanding of how it works.

    Did this help you out?

    Cheers,
    Alex
     
  17. JasonVSG

    JasonVSG

    Joined:
    Jun 22, 2016
    Posts:
    29
    Closing Notification. Hey thanks for the previous help, however I'm having trouble with another situation. We are using Notifications for modal windows which works great. However on some of our windows we require closing logic. When the close button is pressed the notification is closed. Our problem is that the script for the button logic doesn't get fired if the Notification settings make use of the Close Button reference.

    So our solution was to close the notification manually... except there is no HideNotification(). Right now we are doing work arounds, but this is a little clunky. Am I just overlooking a method to hide notification or is there a better way than to attach OnAnimationFinish event?
     
  18. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    516
    No is still dont understand. Do i need to make a new script and create a function and call that function using sendgame event??
     
  19. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi Jason,

    We looked into our particular use case scenario and we believe we know why this is happening. With the introduction of OnClickAnimations for the UIButton, the buttons send their events and actions after the animation ends (waitForOnClickAnimation is a enabled by default). Try setting the waitForOnClickAnimation to false.
    Another workaround would be to set the BackButtonEvent() method inside the UINotification as public and trigger that on button click.
    We will look for a better implementation of the UINotification component to better cater this particular case as well. Thank you for telling us about it.

    Did this help you out?

    Cheers,
    Alex
     
  20. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi,

    You were asking how to send a game event. You can do than do that from an UIButton or an UITrigger or from any script by using DoozyUI.UIManager.SendGameEvent("myGameEvent");

    Is this what you were looking for?

    Cheers,
    Alex
     
  21. raybarrera

    raybarrera

    Joined:
    Nov 20, 2010
    Posts:
    207
    Hi Alex,

    Here's what I got for my button and event trigger:
    Screen Shot 2016-09-15 at 3.44.13 PM.png Screen Shot 2016-09-15 at 3.44.43 PM.png

    Here's the code:
    Code (csharp):
    1.  
    2. string[]buttonNames=newstring[]{"AcceptButton"};
    3. string[]buttonText=newstring[]{CREATE_CHALLENGE_OK};
    4. UIManager.ShowNotification("TwoButtonModal",0f,false,CREATE_CHALLENGE_TITLE,CREATE_CHALLENGE_MESSAGE,null,buttonNames,buttonText);
     
  22. martire

    martire

    Joined:
    Feb 27, 2015
    Posts:
    36
    Hi!

    Could you help me, please?
    Any changes that I do in my scene are lost when I load a new scene (in the editor and game view)... I save my scene and project every time I need to change scenes, but that doesn't work... :(
     
  23. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @raybarrera,

    If you want to have the modal window visible until the user/player presses a button, you should set the time -1f instead of 0f.
    The UIButton looks ok.
    Is the UITrigger on the same gameObject as the UIButton? If yes, why do you need an UITrigger? (you can use the native Button component that is on the same gameObject as the UIButton to do the same thing)
    Did this help? (if not, please screenshot the UINotification component so that we may see the setup there)

    Cheers,
    Alex
     
  24. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @martire,

    Send us an email at doozy.entertainment@gmail.com with the following details please:
    1. Are you using Windows or OSX? What Unity version are you on?
    2. Do you get any errors/warnings/logs in the console?
    3. Does restarting Unity fix this? (the serialization system inside Unity sometimes acts up and without notice)

    Waiting to hear from you!

    Cheers,
    Alex
     
  25. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    516
    I am getting a weird bug. I am using example1 notification4.
    I have created a shop UI element which sets timescale to 0. When i buy something from shop i trigger example1notificion. Which arrives but doesnt leave and stays there. It only leaves when i exist shop and set timescale to 1.
     
  26. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @witcher101,

    We will look into this right now.
    We are doing last minute tests for version 2.6 and we would like to add the fix to this as well.

    Cheers,
    Alex
     
  27. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @witcher101,

    The issue was that we were using scaled time (yield return new WaitForSeconds) instead of unscaled time (yield return new WaitForSecondsRealtime) in the coroutine that should close the notification.
    The fix has been added to the 2.6 version.

    Cheers,
    Alex
     
  28. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    516
    I have also found another bug but i dont know if this bec of doozy ui or not. Dropdown UI doesnt seem to work when time.timescale is 0 when u put dropdown as child of ui element
     
  29. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @witcher101,

    We did the following tests using Unity's native Dropdown component, nested under an UIElement.
    Test 1 (OK)
    SET Time Scale = 1
    Enter Play Mode
    Show the UIElement that contains the Dropdown
    Click Dropdown -> OK

    Test 2 (OK)
    SET Time Scale = 1
    Enter Play Mode
    Show the UIElement that contains the Dropdown
    SET Time Scale = 0
    Click Dropdown -> OK

    Test 3 (OK)
    SET Time Scale = 0
    Enter Play Mode
    Show the UIElement that contains the Dropdown
    Click Dropdown -> OK

    Test 4 (OK)
    SET Time Scale = 0
    Enter Play Mode
    Show the UIElement that contains the Dropdown
    SET Time Scale = 1
    Click Dropdown -> OK

    I would like to mention that all the native Unity UI components and any asset that extends them should not have any problems or compatibility issues with DoozyUI.

    Please look for the following potential causes for your issue:
    1. Be sure you have Unity's EventSystem in your scene (this captures your clicks/touches)
    2. Check that you have a Graphic Raycaster configured properly and enabled on that UIElement (this also registeres your clicks/touches)
    3. Check Sorting Order of the UIElemet's Canvas (make it as high as possible for your test)
    4. Be sure there isn't another (invisible) Canvas with a Graphic Raycaster over UIElement that contains the Dropdown - (look at the Sorting Order as well, as this would block your clicks/touches from being registered)

    NOTE: If we use Override Sorting for a Canvas and we also use a Graphic Raycaster, the click/touch will get registered only for the Canvas with the highest Sorting Order value. This means that if you have several UIElements stacked one over another with the aforementioned settings, only the top one will receive the clicks. This is the normal way Unity handles this type of setup.

    Please let us know how we can help you, if this didn't point you to in the right direction.

    Chers,
    Alex
     
  30. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Good news! We are happy to announce that DoozyUI 2.6 is now ready to be submitted and it also comes with new Asset Store graphics.

    Here are the release notes to see what to expect from it.

    ------
    Version 2.6

    NEW FEATURES
    --Multiple Canvas support (experimental feature for Overlay and World Space). Now you can have your own canvases (of any type: Screen Space - Overlay, Screen Space - Camera and World Space) besides the default one that comes with DoozyUI (the UIContainer root Canvas is set to Screen Space - Camera). The default root Canvas should be left as is because there are a few internal systems that still use it. This will no longer be the case in DoozyUI 3.0 that will come with a modular design that will make the system very flexible.
    UINotification
    --There is a new option to show an UINotification. Instead of using the prefabName and loading the notification from a Resources folder, you can now set a GameObject reference. All the overloaded methods are available.
    UIManager
    --There are new methods to handle the UI Navigation History: AddItemToNavigationHistory, RemoveLastItemFromNavigationHistory, GetLastItemFromNavigationHistory and ClearNavigationHistory

    IMPROVEMENTS
    UIAnimator
    --There is a new calculation system in place for moving the UIElements that no longer looks for the screen size, but for the root canvas size. This will allow for multiple canvases, of different types and sizes, to work with DoozyUI. For now, the movement is set in x and y space, but with DoozyUI 3.0 you will be able to move UIElements in z space as well. Also the movement tween takes into account the UIElement's RectTransform when calculating the target location values.

    CHANGES
    UIManager
    --The UICamera is no longer disabled on runtime for 1 frame as there is a new calculation system in place that no longer requires that delay.
    UIEffect
    --It now gets the sorting layer, from the UIElement that it's connected to, by using the sorting layer name instead of using the sorting layer id.

    FIXES
    UIManager
    --Fixed an issue with the UI Navigation System showing UIElements, on Back button press, that were not hidden in the previous history step. (fix generously provided by [bomberest] Andrew AnF Shut)
    --The Orientation Manager was triggered 5 times on each orientation change and it messed up the UIEffects. Now it works the same, but it triggers the change only once.
    --The Show UIElement method didn't take into account the Orientation Manager when showing the UIEffects. This has been resolved and it now manages the UIEffects properly by taking into account the current orientation.
    UIAnimator
    --Fixed a small issue with the rotation tweens. We were using the global rotation instead of the local rotation. Now local rotation is the standard approach.
    UIButton
    --Fixed compatibility issue with NGUI for the UIButton class. NGUI does not have its classes encapsulated in a namespace so we had to point to the right class for our UIButton.
    UINotification
    --Fixed the coroutine that closed the notification after the set delay. We were waiting using scaled time (WaitForSeconds) and now we are waiting using unscaled time (WaitForSecondsRealtime).


    ------
    PLEASE BACKUP PROJECTS BEFORE UPDATING!!!
    UPDATE NOTES
    Keep in mind that all your databases (ElementNames, ElementSounds, ButtonNames and ButtonSounds) are saved in Assets/DoozyUI/Data/DoozyUI_Data.asset. Do not overrwite this file because all databases will be reset to their default values.
     
  31. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I'm tryijng to make a button animate on mouseover, but can't figure out how. I thought it would be "highlighted animations" but that seems to only be triggered on click. Is there a way to do mouseover animations?
     
  32. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @gecko,

    DoozyUI does not have hover animations/effects available yet. The Highlighted (or focused/selected) animations are mainly aimed for controller users.
    We do, however, have the following things planned and under development for the UIButton in 3.0:
    1. Long click
    2. Double click
    3. Effect OnClick (different from the OnClick animation)
    4. Effect OnDoubleClick
    5. Effect OnLongClick
    6. Effect OnSelected (this is the highlighted state)
    7. Effect OnHover (+animation)
    8. UnityEvent actions for every state

    DoozyUI 3.0 will have a new core and a modular design. Right now we are assembling and testing parts of the core that are functional and the modules that are ready and working as expected. We have 2 modules ready and tested:
    1. Orientation Manager - notifies when the device orientation changes (Landscape/Portrait); very lightweight because it does not use any update function, nor does it use a coroutine to check at set intervals.
    2. Font Awesome - allows the usage of all the font's icons in game or in your editor scripts (including inspector component customization)

    Right now we are working on releasing version 2.6 as soon as possible.

    Cheers,
    Alex
     
  33. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Is there a way to use a script to trigger the Highlighted Animations on mouseover? Seems kinda basic :/
     
  34. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @gecko,

    You can trigger the methods that start and stop the Highlighted Animations, as they are public. But, you will have to create your own OnHover detection script and trigger them as needed.
    The UIButton has the following triggers for the animation methods:
    1. public void StartOnClickAnimations()
    2. public void StartNormalStateAnimations()
    3. public void StopNormalStateAnimations()
    4. public void StartHighlightedStateAnimations()
    5. public void StopHighlightedSteateAnimations()

    Also, maybe you will want to disable the automated Highlighted Animations system so that it won't interfere with your new setup. You can do that by commenting the code found in the Update() function of the UIManager.

    With the new core that we are rolling out for DoozyUI 3.0, there will be a new UIButton that has the aforementioned new features (see the previous answer) and a brand new configuration that will help integrate it with the core. You will have the features you are looking for (and a few more others), just not with the current implementation.

    Cheers,
    Alex
     
  35. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi All,

    We are happy to announce that DoozyUI 2.6 has been submitted for review. The price is the same and the upgrade is free.

    We are working on a daily basis on improving this asset and with your help we will make it even better.
    If you already use it, send us a message and tell us what you think of it or better yet leave us a review on the asset store.

    We hope that you'll enjoy using DoozyUI as your UI management system of choice and that you will be able to create wonderful apps and games with it.

    Should you have a question, an issue, a suggestion or a feature request, we are a message away! :)

    Cheers,
    Alex
     
  36. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
  37. raybarrera

    raybarrera

    Joined:
    Nov 20, 2010
    Posts:
    207
    Hi @allemaar

    I've attached a screenshot of the ui trigger and notification components. The trigger is on a separate game object since it's I don't want to tie it to the specific script calling it (other scripts can call it too, theoretically)
    Screen Shot 2016-09-22 at 8.26.10 AM.png Screen Shot 2016-09-22 at 8.28.36 AM.png
     
  38. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Got a guess as to when 3.0 will be released? And will it be an easy upgrade if I've already set up my DoozyUI system?
     
  39. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Another question: The Back button isn't working. I copied the DoozyUI from one of the Example scenes, and am slowly swapping in my own graphics and making tweaks. The Back button on those UI Elements that I haven't touched still work, but they don't on the UI Elements that I've fussed with more (adding new buttons as children, etc.). Nothing happens when I click the Back button.

    I've checked "Add to Navigation" on all the new buttons. Each UI Element and UI Button has an Element Name or Button Name assigned to it. Is there anything else I need to do? I can't figure out what I'm missing.... (It seems like there ought to be an "Add to Navigation" toggle on the UI Panel/parent of those buttons, but I don't see one.)

    There's no error in the log, just this:

    [DoozyUI] [UIManager] Received button click [buttonName: Back]
    UnityEngine.Debug:Log(Object)
    DoozyUI.UIManager:OnButtonClick(UIButtonMessage) (at Assets/DoozyUI/Scripts/UI/UIManager.cs:373)
    DoozyUI.UIManager:SendButtonClick(String, Boolean, Boolean, GameObject, List`1, List`1, List`1) (at Assets/DoozyUI/Scripts/UI/UIManager.cs:2785)
    DoozyUI.UIButton:SendButtonClick() (at Assets/DoozyUI/Scripts/UI/UIButton.cs:394)
    DoozyUI.UIButton:SendButtonClickAndGameEvents() (at Assets/DoozyUI/Scripts/UI/UIButton.cs:485)
     
  40. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    516
    Can you tell me wat to change in which script to fix this
     
  41. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @raybarrera,

    Looking at your UINotification I can tell you that the Button that is attached to the 'blocker' gameObject does nothing. Meaning that the CloseOnClick button does not get initialized if you are using your own custom buttons. This implementation works like this because we assume you are using the notification as a modal window (since you're using your own buttons) and you want to force the user to select an answer, instead of dismissing it. If you want a close button for your modal window, just add a 3rd button (your 'blocker' for example) and leave it blank as it will get configured to close the notification without sending any game event.

    Did this make sense?

    Cheers,
    Alex
     
  42. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @gecko,

    Got a guess as to when 3.0 will be released?
    We are trying to have it finished by the second half of November and launch it by the end of the year if it passes all the tests.

    And will it be an easy upgrade if I've already set up my DoozyUI system?
    I cannot tell you that yet, as the core and several modules are still under development. We've been adding a lot of features to the 2.x version and the code + components became a bit messy. Now we need to do a complete cleanup of the scripts and we are also adding new features that need to be in their own classes.

    Cheers,
    Alex
     
  43. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @gecko,

    The 'Back' button function is managed only by the UIManager (see it's Update() function). What you may be referring to is the Navigation History.
    The UINavigation has a stack (FILO - Frist In Last Out) where we add all the elementNames that have been marked as 'Add to Navigation History' by an UIButton. What I mean by that is that we add, on UIButton click, all the elementNames from the 'Hide Elements' tab, if you set 'Add to Navigation History' as true.

    You can do a simple test:
    1. Create an UIElement - named 'MyTestElement'
    2. Create an UIButton (in your MainMenu), set it to Show 'MyTestElement' and Hide 'MainMenu' and set 'Add to Navigation History' as true
    3. Click said UIButton (this will show your 'MyTestElement' and hide your 'MainMenu'
    4. Press escape (the equivalent of the 'Back' button) - this should go back to your 'MainMenu' and hide 'MyTestElement'

    Did this help you out?

    Cheers,
    Alex
     
  44. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @witcher101,

    I didn't sent you the script since we included the fix in 2.6 version and we just launched if. But you can do this fix yourself by doing the following steps:
    1. Open UINotification script
    2. Search for 'yield return new WaitForSeconds'
    3. Replace with 'yield return new WaitForSecondsRealtime'
    4. Done :)

    Note: I am assuming you are using Unity 5.4.x

    Did this help?

    Cheers,
    Alex
     
    Last edited: Sep 26, 2016
  45. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I figured it out -- the first button in the UI sequence had a "Disable Back Button" event assigned to it. I had noticed that before but thought it was because it was the first button to appear in the game (there is no "back" from it). But removing that event fixed the problem. It must have been carried over from duplicating the DoozyUI setup from an example scene.

    So another question: I downloaded the 2.6 update, but it overwrote my database, breaking my setup. So I rolled back, then started to import it again-- but first deselected the UI_Asset database first. I had previously modified some of the UI animations but none of those were checked for import, so I imported it -- but those animations are altered now. How do I update my project with 2.6 without losing my work?
     
  46. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Hi @gecko,

    You need to roll back again and deselect the animations as well. Just deselect the 'Presets' folder and you should be good to go. For the future, just create a new preset with a custom name, or do not overwrite, on update, the animations you altered.

    Cheers,
    Alex
     
  47. AlexMares

    AlexMares

    Joined:
    Mar 4, 2015
    Posts:
    498
    Progress update for DoozyUI 3.0 - UIButton Module

    We have the UIButton almost ready and it has the following new features:
    1. Detects and triggers UnityEvents for: OnHoverEnter, OnHoverExit, OnPointerDown, OnPointerUp, OnClick, OnLongClick, OnDoubleClick. You can hook to them with ease (either from code, or from the Inspector).
    2. SingleClick has 2 types of reactions: Instant and Delayed. This covers any type of setup. More details will be available in the documentation and the video tutorials.
    3. LongClick has a customizable trigger interval. (you can set how long does the user have to keep the button down until the click is considered a LongClick)
    4. DoubleClick has a customizable click interval. (you can set what is the time interval when two sequential clicks are considered a DoubleClick).
    5. AnimatorModule for each state with 7 animation types: PunchMove, PunchRotate, PunchScale, Move, Rotate, Scale, Fade.
    6. SoundModule for each state with two types of input source: string or AudioClip.
    7. Customizable disable timer between clicks. Prevents multiple clicks for a short time interval.

    If you have any suggestions about a feature that you would like to see included in this module, please tell us and we'll see if we can implement it.

    The aim is to create an ultimate button that will allow you to use/animate/trigger it in any way possible.

    NOTE: Even though this will be a standalone asset on the Asset Store, it will be included in DoozyUI 3.0 and it will have a few more options added for the UI system.

    Cheers,
    Doozy Entertainment
     
    Last edited: Sep 28, 2016
    Tiny-Tree likes this.
  48. JasonVSG

    JasonVSG

    Joined:
    Jun 22, 2016
    Posts:
    29
    Stopping the back button.

    Doozy is still working great. However I have another problem that came up that isn't what I would consider typical. On a few situations we want to stop the Navitation Device Back Button/Escape.

    One such popup is our. Reset the client Notification. We don't want the player to hit the Back button on Android, and for our testing make sure that the Escape key doesn't do the back button result. There is also a unique situation in our matchmaking where the player can cancel until the game is about to start, then we want to prevent the back button.

    It's probably a simple solution, but I'm not sure where to look.
     
  49. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Actually, I had made new presets, so nothing was being overwritten. But I'm still having the problem that my In Animations are significantly altered after importing the 2.6 update. The inspector settings for my custom preset don't look any different, so I don't know *why* the animations are altered...but they sure are. Any ideas?

    Another question: Is there a way to have a UI Element appear for X seconds, then exit and trigger actions (Show/Hide elements, and send game events)? Or will we need to script that?
     
  50. witcher101

    witcher101

    Joined:
    Sep 9, 2015
    Posts:
    516
    I am on 5.3 and i couldnt find any yield return new WaitForSeconds line in any of UInotificationscript.
    I checked uinotification.cs, showuinotification and uinotificationinspector scripts. Didnt found any line on those