playMaker

Author Topic: Are there plans to include EZGUI / NGUI actions?  (Read 12707 times)

ShawnMcCool

  • Playmaker Newbie
  • *
  • Posts: 21
Are there plans to include EZGUI / NGUI actions?
« on: February 29, 2012, 01:05:21 PM »
I'm shopping GUI systems and NGUI seems to be at a good functionality / price point.  I noticed that the author had interest in working with Alex to create a set of NGUI actions.  Is this something that's being done?

I'm also looking at EZGUI due to its integration with Sprite Manager 2.  PlayMaker is --in my mind-- the most important part of my project.  If there's any preference by the playMaker team then that would be a good indication of which way it should go.
« Last Edit: February 29, 2012, 01:46:48 PM by ShawnMcCool »

ShawnMcCool

  • Playmaker Newbie
  • *
  • Posts: 21
Re: Are there plans to include EZGUI / NGUI actions?
« Reply #1 on: March 01, 2012, 04:18:20 AM »
The more I mess with NGUI the less sure I am that playMaker should have any involvement whatsoever in constructing the user interface.  It seems like the UI should probably be created as prefabs and then instantiated through playMaker.  It makes sense that these UI elements have scripts that directly launch events against the FSMs.  There are some actions that WOULD make sense, such as selecting panels / transitions.

Anyway, I'll likely look into making some actions where they make sense for my own purposes.  I'll post them to the appropriate forum when / if I do this.

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: Are there plans to include EZGUI / NGUI actions?
« Reply #2 on: March 06, 2012, 06:49:19 AM »
Hi,

 I have progressed well enough in a personal project of mine to tell you that soon, managing GUI within Unity and playmaker will be taken to a whole new level :)

 Basically, I am working on a xml based definition of gui, and a series of actions that goes with it so that you can manage, edit gui elements as Unity should always have done; as persistent Objects, like we do in the 3d world, not having to declare them each update... which might be more powerful yes, but that's just not satisfactory without a framework on top of that).
The major advantage over the current implementation is that you don't need to have all your gui in one state, instead when you create a button, it will live until you want to destroy it ( and a check box is there also so that is get destroyed when the state is exited of course). So you can finally start to take full advantages of playmaker Fsm system for the gui.

 the current alpha version can already do the following:
-- send playmaker event on gui events like button down, value changed, etc etc. All this xml driven!! no script nor fsm involved at all!
-- binding of FsmVariables and gui properties: like the text of a textfield, or the rect of a window. Again, All xml driven!
-- more goodies like referencing element by user defined id: create a window and give it an id "My very own window" and then simply add an action to add a button and specify that the container should by that ID, it doesn't care if it is a window, a group, vertical or horyzontal, etc etc, and you can of course specify where to put it, ( last element, first element, or next to a specific element id).

The other huge advantage is that you completely remove the need to script the layout, structure of your gui, and instead only implement what need to be dynamic: for instance, you want to show all your current players in your game, the xml will define the position, title, etc etc and the group where all player should be listed ( and give it an id like "playerGroup". Within playmaker you then only add, remove buttons within that "playerGroup", your playmaker doesn't know and doesn't care about where it is or what it is, it will simply add that element in that ID, end of the story, clean and efficient playmaker Fsm :)

 A lot of precaution and thinking currently goes in caching details, because essentially, the xml parsing happens on each OnGUI and it's obvious that it has to be optimized: Currently, I can't even spot a difference in the profiler :) between the same gui on screen handled via script or within my framework: so I am pleased, I parse only once an element content, when first parsing or when it is changed or edited.

The feature list goes on of course... and opens wild possibilities like creating your own element and only define it simply within the xml gui ( I working on creating a way to easily extend xml elements). Things like dropdown menu, tree views, radars, complex list, tables, would then fit within that framework and remain very easily to implement AND reuse.

The power it gives and the perspective in terms of flexibility, reusability and integration within playmaker is clear and promising, despite the fact that Unity gui is not optimized for mobiles because of the number of drawcalls, it still has a lot of concrete application for desktop application, simulation,non games stuff and application with intense gui, not requiring fancy artwork...

 So stay tune for a beta preview soon.

Bye,

 Jean

Mark_T

  • 1.2 Beta
  • Junior Playmaker
  • *
  • Posts: 72
Re: Are there plans to include EZGUI / NGUI actions?
« Reply #3 on: March 06, 2012, 06:18:53 PM »

@ShawnMcCool - being a programmer/scripter oriented, I understand your opinion. But for me, as a person who doesn`t know anything about scripting this means just a partial connection with nGUI.
If you ask me, I would like to send events (if possible more than one event) with a press of a button, maybe after that, the pressed button to perform one or more animations and maybe to send again some events, update some variables and activate another FSM. Or maybe to perform some animation and than desapear (I like a lot the way Playmakers GUIButton goes away after is pressed). Or maybe, after I spawn 20 objects with Playmaker-PoolManager2, an updated variable will send an event and a nGUI panel with all the buttons, scrolls, cursors, etc. will be created at runtime. I don`t know, from a technical point of view, if I really need all the nGUI UI elements to be integrated as Playmaker actions, but considering that I can build with nGUI GUIs having a low number of draw calls and I can still have great artistical freedom is really important to me.
I do hope that in the end (and I hope that moment will not be that far away) we will have a strong nGUI-Playmaker connection.

@jeanfabre - all you describe here sounds very powerfull and very tempting. My only fear is that the xml based definition of GUI will require scripting knowledge (again :)) and maybe I will have some limitations from a graphical point of view. And I have to say that for the moment, I`m interested in the mobile platforms. :) But that, for sure, doesn`t make less interesting and appealing your sollution. :) I`m really looking forward to give it a go.

Thanks,

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: Are there plans to include EZGUI / NGUI actions?
« Reply #4 on: March 07, 2012, 02:45:12 AM »
Hi,

 XML is a very easy approach. It is not scripting, this is a semantic description of what you want, not a process or routine description like scripts. So even as an artist, xml is approachable.

Example:

 
Code: [Select]
<button text="second button">
<onClick>
<fsmEvent name="BUTTON CLICK" />
</onClick>
</button>

That is definitly something anyone reading english can understand.


Also, bear in mind that I use xml as a data repository, it is possible to hide that completely from the user by providing a visual interface to build your gui in the first place, that is totally possible, tho I lack of proper funding to spend that much time developing such visual gui builder. One day maybe, if the opportunity comes up, or maybe I will approach an existing gui extension with a good visual building system and propose to link it up with playmaker.

 Bye,

 Jean

Mark_T

  • 1.2 Beta
  • Junior Playmaker
  • *
  • Posts: 72
Re: Are there plans to include EZGUI / NGUI actions?
« Reply #5 on: March 12, 2012, 04:12:50 PM »
Hi,

 XML is a very easy approach. It is not scripting, this is a semantic description of what you want, not a process or routine description like scripts. So even as an artist, xml is approachable.

Example:

 
Code: [Select]
<button text="second button">
<onClick>
<fsmEvent name="BUTTON CLICK" />
</onClick>
</button>

That is definitly something anyone reading english can understand.


Ok, I see. I think I can manage that. :)
And if we can have some example scenes to study, and maybe some guidance, it will help a lot.
What do you mean by "good visual building system"? You mean the visual output of such a GUI extension to have a high visual quality and as much as possible to be an efficient one?

There is a thread on nGUI forum:http://www.tasharen.com/?topic=playmaker-integration-any-plans regarding Playmaker integration. If there are more people interested, it might help to post there.



jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: Are there plans to include EZGUI / NGUI actions?
« Reply #6 on: March 13, 2012, 01:47:00 AM »
hi,

 Replied on that thread, thanks for the link.

 basically, I'd be interested, but seriously lack of time. this is bad to say that, because it's not that I lack of time, it's that I having difficulties to organize myself between all the things I want to do...

Bye,

 Jean

Mark_T

  • 1.2 Beta
  • Junior Playmaker
  • *
  • Posts: 72
Re: Are there plans to include EZGUI / NGUI actions?
« Reply #7 on: March 13, 2012, 05:21:35 AM »

Haha, multitasking? :)

Thanks so much for stepping in.



Alex Chouls

  • Administrator
  • Hero Member
  • *****
  • Posts: 3987
  • Official Playmaker Support
    • LinkedIn
Re: Are there plans to include EZGUI / NGUI actions?
« Reply #8 on: April 08, 2012, 01:17:05 AM »

rocket981

  • Playmaker Newbie
  • *
  • Posts: 1
Re: Are there plans to include EZGUI / NGUI actions?
« Reply #9 on: September 04, 2013, 09:22:43 AM »