Search Unity

InventoryManager 2.0

Discussion in 'Assets and Asset Store' started by Adam-Buckner, Apr 27, 2011.

  1. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Jaimie: I'll see what I can do re: improved updates. Did you get your update? Or do I need to look into that?

    Grfxman: What networking solution are you using? I have tried to steer away from the use of external databases. Partly as the original intent focused on ease of use within Unity only and the original scope is for a single player game. For a smaller multiplayer game I could imagine some sort of RPC call setting an owner, with world being one of them? But that being said, as this system works around items in an inventory list on a character, dropped items with a game object would simply need an RPC to instantiate the object. Looting would have to check against multiple characters looting - which would be necessary anyway. An interface similar to a vendor could be used from person to person. ... ... Hmm. Intersting notion of a decentralized item system where each character had a list if their stuff.

    But if you are trying to make a large multiplayer game where all of your items are held in a single database for access to the characters, i think his system would take a more serious level of customisation. I'd approach it from looking at the backend first, and how you wanted to store and serve your data to your players and then work on the front end after.

    Worth some thought. How big is your game?
     
    Last edited: Sep 5, 2011
  2. taragon

    taragon

    Joined:
    Jan 23, 2010
    Posts:
    119
    I will take a look at the info on the loot able object as you mentioned.

    What I'm trying to do is the following:
    1. Constraint each treasure chest to a set amount of pieces so that player can collect from more than one chest and not have inventory be full.
    2. When player clicks on the loot able object and drags into inventory slot, add onto a counter that keeps track of how many are added into inventory. This counter will basically trigger other features on player health for instance.
    3. If items are taken off of inventory into the Character slot, add onto a different counter that keeps track of how many are added onto character. This counter will trigger a decrease on player health (for instance).
     
  3. taragon

    taragon

    Joined:
    Jan 23, 2010
    Posts:
    119
    Would you say that you can create a counter inside the function "DrawCharacterWindow" for instance where:
    Code (csharp):
    1. equipped[i] = dragItem.draggedItem;
    would be the place to keep track of or create a counter?

    or.... in the Lootable Object script,

    I would add a counter here:
    Code (csharp):
    1.     if (!lootCheckList.Contains(newItem)) {
    2.                             if (newItem.isUnique) {
    3.                                 lootCheckList.Add (newItem);
    Actually, in looking at the Lootable Object a little more closely, I think I can just use the counter that's built in:
    Code (csharp):
    1. lootList.Add (newItem);
    2.        count++;
    3.  
     
    Last edited: Sep 6, 2011
  4. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    1. See page two on this thread to get started with the details of Loot Tables.

      There will always be a balance to the game design between things found and the ability of the player to carry it.

      The system supports an infinitely large inventory. The constraints of screen space limit how much you can actually show, but this should be more than enough. The "bag" window can hold any number of bags. The current default is 5 (iirc), but this can be set to any amount. Each "bag" can hold any number of items based on the Container Size value for any give container item. More than 20 or 30 slots per bag begins to take up a lot of real estate. But with 5 bags of 20 - 30 slots, that means an inventory could contain up to 100 and 150 items - and that's a lot. (Especially if they stack...)

      To keep from "filling the inventory" from one Lootable Object, then you need to control how you set up your loot tables. This is usually done by "playing the odds". If you have 10 items that could be looted from an object - say a dead body - but on average you want your player to only loot two items, each item should have a 20% chance of being made available. If you want your character to loot, on average, one item, each of the 10 items should have a 10% chance of being made available. For more complex situations the odds are usually stacked in a way that they diminish very rapidly, usually a large number of items with less than 1% chance.

      Take a look at this link (and for more detail click the "ALL" button to see all the loot available):
      http://www.wowhead.com/npc=4389#drops

      or this link
      http://www.wowhead.com/object=207484#contains

      or this link:
      http://www.wowhead.com/object=207533#contains

      Now, TBH, these are "return values" not the actual architecture of the loot tables, and I have no idea how they structure the loot tables in this game, but it does give an insight into the extensive size a loot table could be.

      With the added control of multiple loot tables under the master loot table, chance for table and pick from list, you can fine tune the items available to your character to a very high degree. Again: Look at the examples given with the description on p2 of this thread, eg: Using one loot table for junk, and another for "good stuff" working with a 3rd list for special objects set to chance for list 20% and pick from list (1) would mean that any item or object sharing that loot table would get a random mix of junk, a random mix of "good stuff" and 1:5 on average will get 1 special object.


    2. I'm not sure I completely understand what you mean by this. I thought I understood what you meant, until I read #3.

      Are you asking about how items can add to the character's stats (statistics?) like equipping a ring of +2 strength? or drinking a potion of +100 health? Or are you talking about something different? Usually when a player is carrying something in their inventory, it doesn't have any effect until it is equipped or used.

      If you need to have an effect from using an item, look at:
      bool UseItem (InventoryItem item)
      This is the method that contains the hooks for what your "used" item will do.

      Could you be talking about "encumbrance"? Where there is a "weight" limit to how much a person can carry? Beyond the total number of slots?

      Both of these can be supported within the system, but must be customized by the developer. There are clear hooks (see above) for using an item, and (see below) for equipping an item. Encumbrance is not explicitly supported, but would be relatively easy, and I could walk you thru it, or prep it for the next upcoming release.

      Let me know exactly what you are trying to achieve, and I'll show you how to do it. If you don't want to talk about your game in the open forum, you can send me a PM.


    3. Items that are equipped and unequipped are supported in the system.

      The base code includes some very simple examples of this.

      Look at this method:
      void SummarizeEquippedItemBonuses ()
      This is where the system iterates through all of the equipped items and adds up the bonuses and subtracts all of the penalties (say - cursed items) of items equipped by a character.

    Did I understand this all correctly? Or have I missed the point? If I have, let me know exactly what you are trying to do, like:

    I'm trying to give each item a weight and have every item in the character's bags count against his strength and if he carries too much, his attack value will go down.

    or

    I simply want to count the total number of items in bags so I can display it in the player's HUD
     
    Last edited: Sep 6, 2011
  5. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    You will really need to explain what you mean by "counter". I will admit that I am thoroughly confused.
     
  6. taragon

    taragon

    Joined:
    Jan 23, 2010
    Posts:
    119
    I probably didn't communicate well enough... what I'm trying to do is the following:

    When player adds a lootable object to his inventory that there is a variable dedicated to this action such as "inv_counter". When items are added and inv_counter increases, this variable triggers other things to happen in the game (unrelated to the inventory management system). For instance, I am going to have the player slow down based on the inventory he is carrying. The more the items he clicks into inventory, the slower he moves. Therefore, I will need to keep track of how many items are going into inventory. My question is the following: would I add a variable such as inv_counter to keep track of how many items are added to the inventory list? I'm sure this feature is there somewhere, but I'm not clear on whether this would just be List.Inventory?
     
    Last edited: Sep 6, 2011
  7. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Yes, I'm not in front of my computer right now, but if you need a simple number of the items in, you could iterate thru the inventory list. I'd have to look, but you might even be able to get a simple length or count. I can't remember. Another way to do this would be to add an attribute to the inventory item list: public float weight; - this way you could have items weight different amounts. Then every time the player adds an item (void AddItem iirc?) one could iterate thru all of the items and add up the total weight in the same way that currently the system uses SummarizeEquippedItemBonuses. You could then compare this to the player's Strength or Endurance or Constitution attribute and calculate speed. One would have to write a SummarizeInventoryWeight method, but that should be relatively easy. If you want, I could add "encumbrance" (a common term for this) as an option to the next release.

    I certainly could walk you thru making the code for SummarizeInventoryWeight.
     
  8. taragon

    taragon

    Joined:
    Jan 23, 2010
    Posts:
    119
    Sweet! Walking me through would be great... let me know when you're in front of your pc.. in the meantime, I'll take a look at your method.

    Yeah, I kinda had to get this done yesterday, so waiting for the next release won't work...

    The other thing I was planning on doing which is exactly same only a "counter" to when items are added onto the character window is have the weight decrease off of the player. Is this possible using the same method?
     
    Last edited: Sep 6, 2011
  9. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Taragon: I'll have to work something up before I can walk you through it. Basically, the theory is: Every time you add or remove an item to or from your inventory, you quickly iterate over all of the items you have in the inventory and either take a raw count and apply that, or you add up/sum a property or value you have created. This means you will always have an accurate and complete accounting of your items.

    If you need to account for items equipped as well, that's easy too.

    I'll lay out the ground work for you to follow and then let you polish it to your heart's content.

    This will probably be something later this evening GMT.
     
  10. taragon

    taragon

    Joined:
    Jan 23, 2010
    Posts:
    119
    Great, looking forward.
     
  11. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Taragon:

    Sent you a PM with a recipe for the Encumbrance System.

    If anyone else would like it, let me know, and I'll bullet it off to you. It's a bit OTT to post here.
     
  12. grfxman

    grfxman

    Joined:
    May 28, 2009
    Posts:
    309
    mySQL support in the future ???
     
  13. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Eventually, yes.

    The original intent for this system was to make something that would work entirely "in Unity" rather than require the developers to have some other piece of kit like a back end database.

    I'd be willing to collaborate with someone to add multiplayer support to the system, but I am worried that - as there are so many multiplayer solutions out there - that what ever solution would work for one game wouldn't necessarily work for another.

    All this being said, there is a strong case to be made that any changes to this or any other UI driven system wait until 3.5 is available to play with, as the entire UI system is due for and update.
     
  14. grfxman

    grfxman

    Joined:
    May 28, 2009
    Posts:
    309
    Since your setting up a structure for your items in your editor, it should be possible to store this in mySQL. Sadly I'm not a PHP mySQL person and it seems to be a weak spot in every inventory system I have purchased or/reviewed. :(
     
  15. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Really? Explain to me what you need to your multiplayer setup. Most inventory systems I saw required some sort of serialization and stored data outside of Unity. My first version required an external database and was based on moving text files around. This seemed compact for a single player game. It was unclean. Let me know what you need and how you need it implemented and I'll put some thought to it. Like I said, IM is due an update, but I may wait for 3.5.
     
  16. MaliceA4Thought

    MaliceA4Thought

    Joined:
    Feb 25, 2011
    Posts:
    406
    HIiya Little Angel..

    I think youre right re the multiplayer.. many solutions.. it even depends on whether this is authoritative or non-authoritative server etc as to how this is structured.

    Frankly, anyone who's got as far as a working multiplayer network solution will probably have enough exp to be able to get your inventory system working in a network enabled environment, but the best solution for multiplayer by far would be to have a server only part which handled the database of items and control, and then a character based inventory system that communicated with the server database via RPC's. The database could be stored on server as it would be well away from the clients, or could be sent out via PhP. This way there would be one script common to both client and server which generated RPC's to Server only based on client input and then had responses from the Server to all, or to individual client as a response. Pretty much everything else can be handled as is. It's a LOT of messaging and serialisations though :)

    Regards

    Graham
     
    Last edited: Sep 9, 2011
  17. grfxman

    grfxman

    Joined:
    May 28, 2009
    Posts:
    309
    Well Messaging could be limited to when objects are added or removed from inventory. The heavy part is the initial character log-in. But that is always the case.

    Also I just bought this to start getting back into mySQL. Since I learn it once a year then forget it. :)

    SaveIt

    For my needs I just want php scripts to load the items from mySQL. I can control from that point, if the item will be spawned/controlled by the client or the server.
     
  18. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Hmm... I suppose if I were to configure IM for multiplayer games, the base inventory system would stand as is, as it works as a character's inventory system. The saving of the character's inventory as the local inventory list would be part of whatever I did to save that character's data remotely... a separate issue. I don't see a problem with having the character's inventory as an array / list.

    Where there would be trouble would be loot generation. Assuming an authoritative server, I would just have RPC calls synchronizing the content on a chest. There would have to be an authoritative decision about "who clicked/looted first" and assignment of an "owner/looter". Then loot generation could use the same tables. All instances of the object would have the same script. It would just mean that the "first looter" would trigger the generation and the content of the lootable object would have to be synchronized, even if the loot generation was done "locally" on a single instance of the game. I suppose one could send the loot table itself to the server, let the server create the loot contents and then send it back to the clients... then you'd have to deal with who was the controlling looter... Hmmm... Like I mentioned earlier, tho' it might be best to pass an "owner/looter" to the object that keeps every other player away (that object is busy) and at the end of each "looting session" the contents are synchronized and the owner flag dropped. This means that loot generation could still be decentralized. ... Yah. That's what I'd do: Lock it to an owner. Have generation, looting, etc., be done locally, synchronize contents and unlock at the end of each session.

    Vendors would be local...

    Exchanges between players would need their own RPC calls and UI.
     
  19. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Ultimately, even if all of the architectural details were locked down, the specific implementation would be different depending upon what multiplayer solution one was using: Unity, uLink, Photon, ElectroServer, Badumna... they'd all have their own unique way of dealing with the specifics.
     
  20. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Taragon: In response to your PM about lootable objects. If your lootable object is returning your entire loot list, then you've done something special and unique. Each lootable object will only return what items you have told it two with the chance that you have set. If you are getting all of the possible items, then perhaps you are not setting up the chance properly (setting it to say: 100%?) Or are you using the example objects? These contain many items for testing purposes.

    See the docs for an explanation on how to handle lootable objects, and I will also reprint this from earlier in the thread:

    See page two on this thread to get started with the details of Loot Tables.

    There will always be a balance to the game design between things found and the ability of the player to carry it.

    The system supports an infinitely large inventory. The constraints of screen space limit how much you can actually show, but this should be more than enough. The "bag" window can hold any number of bags. The current default is 5 (iirc), but this can be set to any amount. Each "bag" can hold any number of items based on the Container Size value for any give container item. More than 20 or 30 slots per bag begins to take up a lot of real estate. But with 5 bags of 20 - 30 slots, that means an inventory could contain up to 100 and 150 items - and that's a lot. (Especially if they stack...)

    To keep from "filling the inventory" from one Lootable Object, then you need to control how you set up your loot tables. This is usually done by "playing the odds". If you have 10 items that could be looted from an object - say a dead body - but on average you want your player to only loot two items, each item should have a 20% chance of being made available. If you want your character to loot, on average, one item, each of the 10 items should have a 10% chance of being made available. For more complex situations the odds are usually stacked in a way that they diminish very rapidly, usually a large number of items with less than 1% chance.

    Take a look at this link (and for more detail click the "ALL" button to see all the loot available):
    http://www.wowhead.com/npc=4389#drops

    or this link
    http://www.wowhead.com/object=207484#contains

    or this link:
    http://www.wowhead.com/object=207533#contains

    Now, TBH, these are "return values" not the actual architecture of the loot tables, and I have no idea how they structure the loot tables in this game, but it does give an insight into the extensive size a loot table could be.

    With the added control of multiple loot tables under the master loot table, chance for table and pick from list, you can fine tune the items available to your character to a very high degree. Again: Look at the examples given with the description on p2 of this thread, eg: Using one loot table for junk, and another for "good stuff" working with a 3rd list for special objects set to chance for list 20% and pick from list (1) would mean that any item or object sharing that loot table would get a random mix of junk, a random mix of "good stuff" and 1:5 on average will get 1 special object.
     
  21. Riftcaller.Games

    Riftcaller.Games

    Joined:
    Oct 22, 2011
    Posts:
    3
    Hello, Little Angel,

    I've been spending a good deal of time searching the Unity forums for a means as to learn how to implement a system akin to this type of Inventory and am seriously considering purchasing your system -- since my coding experience is at a amateur level at best. I have a few concerns, though, so hopefully you will be able to help me to make the decision.

    I'm currently working on developing a third person game that is not combat-oriented, but rather is focused on interactions between the player and NPC characters, with the plot focused around gleaning information from these characters through befriending them. One of the means of building up a relationship with these characters is to give them items as gifts, and this is intended to be accomplished by right-clicking on the NPC and selecting the "gift" interaction from an overhead display of word-balloon interaction options. The items need not be stored with the NPC for later use, but simply evaluated to see whether the given item is one of the character's likes or dislikes, add relation points accordingly, and then destroyed. So my main question would be: is it possible to queue up the inventory remotely in order to accomplish this, allowing items tagged with a "giftable" boolean var to be selected to be given and other items disallowed to be given -- such as key items important to driving story events?

    Another concern is the fact that I do plan to sell the game commercially once it's been completed. What level of licensing protection does this system carry and what degree of credit would you expect to receive for my implementing the system within my game -- explicit acknowledgement in the credits of the game, a spot in the splash sequence with your development logo, or both?

    My game project, while involving some RPG elements, is not an RPG in the conventional sense of the genre, since there is no combat involved in the gameplay -- just the use of tool objects to interact with the game environment and NPCs, and possibly the ability to customize the look of the player character through the use of clothing objects (such as hats, accessories, and outfits). By reviewing the available demo, I do see that an equipment screen is included with the system, but my question would be whether I would be able to split the weapon equip feature from that of the armor assignment slots so that the latter is reserved for character customization? And also if the weapon equipment slot could be moved to be included in the inventory window? Also, the player would dispose of unwanted items by dragging the item to a disposal slot/button, not by dropping the item back into the scene. Could this be possible with your system?

    My final concern is the effect of the system on game performance. Is there a particular pipeline you recommend for scene complexity that will work in great favor towards maintaining a high fps rate? The graphical style of the game is intended to be stylized and simple, using hand-drawn UV textures and normal maps to provide most of the characters details, rather than additional geometry. My goal is to create a game that will perform fairly well on computers with limited graphical capabilities, possibly machines no older than 5 years. From your testing and development experience, would you say that this would be realistic using character models not in excess of 2500 polys each?

    And, lastly, thank-you for creating and making available such an invaluable asset to the community! After several weeks of diligent searching, I've been unable to find enough learning resources to even begin to grasp at putting together a system that supports drag-and-drop organization of the inventory contents. The furthest I was able to get was to have a window appear when clicking on the appropriate HUD button and fill it with slots, but I was unable to figure out how to reorder the items or otherwise.

    I look forward to hearing back from you, thanks.
     
  22. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Riftcaller:

    If you want to learn how to roll your own, you can search my previous posts or search for inventory manager and you should find a thread on my first attempt. It is reasonably well documented. There is also information on http://www.theantranch.com/Unity/. Scroll down to Basic Inventory Looting System. This system does not have is drag and drop, intelligent bag management and other improvements. It is, however a place to start. If you don't mind a system where you could click on the NPC to trade and then click on the item to trade, rather than dragging the icon onto the NPC, it could be fun to play with. And it's free.

    All that being said, the current Inventory Manager is a core system that is designed to be modified by the developer to fit within their game. This will take some coding. If there are specific points you need help with in tailoring the system to your game, I will help as possible.

    I don't fully understand what it is that you are trying to do, but from what I'm reading, it should be possible to do. Will the player have a collection of items stored in an inventory that they will give to the NPC? I'm not sure I fully understand what you mean by queuing. Adding variables to the inventory item class is easy. It gets a tad bit more complicated in that one has to modify the optional inventory item editor to accommodate that new variable. This is documented in the code. You would probably want to add a method that deals with gifting items.

    The license is to use this system with any or all projects you make in Unity. You can sell any number of games you develop and release. If you sub-contract to a developer to work on a game, they must own the/a license. The fine print says don't sell the system to other people or sell a system that uses this sub-system to create games like - say - an RPG Maker.

    All the customizing that you are talking about is possible, but would currently require re-writing some of the base code. Some parts are easier that others to do. I don't fully understand what you mean by split the weapon equip feature from that of the armor assignment slots so that the latter is reserved for character customization. Placing an equipment slot in the inventory window is possible, but might be easier as a separate window (in UI terms) that is joined seamlessly to the inventory window.

    If you are running on desktop or web with a five year old machine 2500 poly's per character should be fine - depending of course how many you have on screen at one time.

    When it comes to the performance of this system, it shouldn't be a high impact on the game. I am, however, planning a thorough re-structure of the system when Unity 3.5 comes out if their new UI System is as powerful as expected.

    To sum this up: It all sounds doable, but will require rewiring bits and pieces. This may push your coding skills, if you are just starting out. This may be a fun challenge. This might be frustrating. It depends on how you feel about code. And like I said, I'll help you through it as possible.
     
    Last edited: Oct 23, 2011
  23. Riftcaller.Games

    Riftcaller.Games

    Joined:
    Oct 22, 2011
    Posts:
    3
    Thank-you for getting back to me, Angel! Lots of great information.

    When it comes to giving items to an NPC, I was mostly thinking of using a boolean to mark some items as able to be given away and others not, which it seems should be easy to implement within the system's scripts from what you've described. Since I am trying to become more fluent in Unityscript, I'm currently looking into the earlier version of the Inventory Manager to learn a thing or two about how a complex system like this works. Mentioning Unity 3.5, are you planning to use a form of upgrade for developers who purchased this version of the system? I'm still very much interested in buying this when I can, since the functionality and support would be greatly appreciated, so I'm curious as to what your plans would be.
    Thank-you very much for your feedback and information; I'll drop by again after I've finished looking over the code.
     
  24. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Any overhaul because of Unity 3.5 will be a "free point upgrade" to the system, so if you purchase now, you'll get the upgrade free when it comes out.

    If you have any questions about that original Inventory System, post any questions to that thread. I believe it's called something like "Inventory system based on forum code". That thread IS both cluttered and stale, but it might be the best place to discuss that system.

    Any discussion on THIS version, post here.
     
  25. raymri

    raymri

    Joined:
    Feb 7, 2012
    Posts:
    5
    Hi there, I buy it from unity asset store using raymri@gmail.com Downloading is fine, but find error during importing. if there is anything wrong when using in unity3d 3.5?
    thanks,

    Ray

    --
    http://raychen.org
     
  26. raymri

    raymri

    Joined:
    Feb 7, 2012
    Posts:
    5
    Can someone mail me this fileInventory Complete.unity
    under path " Scenes"

    I just found it is package compressing issue.
    All element in the package, except files in folder " Scenes" " Read Me" have this problem because of 1 space in front of folder name. That maybe because of language difference, we use double character system.

    Since I have depression other part, if some one would like to send me the files in " Scenes"" Readme" it is much appreciated.

    Ray
     
  27. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Yes, there could be spaces in those folders to bring them to the top when sorting. Let me look into this and get back to you.
     
  28. raymri

    raymri

    Joined:
    Feb 7, 2012
    Posts:
    5
    Thank you little angel,
    We are now developing a training system in limited time. And your asset could really help a lot. So please do me the favor to solve it, mail the Scenes file Inventory Complete.unity only is longing to as well~
    my email is ray@LongGood.com.tw or raymri@gmail.com

    Look forward to see you response soon.

    and thank you again

    Ray
    --
    Blog
    Web
     
  29. raymri

    raymri

    Joined:
    Feb 7, 2012
    Posts:
    5
    Great,
    Finally I have done it.

    the unitypackage still have some errors.

    I us zip decompress to unzip the file. The content shows folds with scramble name.
    I found the necessary scenes file in the end.

    that is great!!!

    Ray

    --
    Blog
    Web[/QUOTE]
     
  30. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Great! I sent you a PM, but I did not see a reply, so I'm glad you have figured out a solution. Let me know if you need any more help.
     
  31. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi,

    I really like this Inventory system and it would save me a lot of time on my project. However we are using EZGUI for all the GUI designs. I noticed within this tread you had the intention on planning a special Inventory system based upon EZGUI. Can I have an update on the status please?

    Kind regards,

    Wim Vancoillie
     
  32. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    *(>_<)*!

    I have been thoroughly side-tracked by getting hired by Unity Tech to do their online training. I have not had a chance to do much more than get a rough test working. You can see a rough test of it here: http://www.theantranch.com/Player.html but I have not played with this in quite some time... (all of what you see in this test is EZGUI) What's your time frame?

    ps: I can't get that build to work in MacSafari, but it works in MacFirefox...
     
  33. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hi,

    Thanks for the quick answer. That demo already looks great! We would like to have our first level demo test ready by September 2012. No real hurry but would be great if we could integrate your EZGUI friendly system.

    Thanks for the update.
     
  34. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Keep on me. I'm jugglin' enough things that I may forget the urgency. Check back in after a while either here or PM.
     
  35. runonthespot

    runonthespot

    Joined:
    Sep 29, 2010
    Posts:
    305
    I am a buyer of an EZ Gui version too (and I'm happy to pay for something that I need to fix if it's not ready for prime-time yet)
     
  36. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    The pressure mounts!

    I'll bump it up the list of priorities... but don't hold your breath just yet.
     
  37. Daniko

    Daniko

    Joined:
    Mar 24, 2011
    Posts:
    16
    Actually, i'm looking for this too,..albeit at the simplest possible level right now using EZgui....Trying to manage inventory items in a scroll list for a basic 2.5d adventure style game. Have been beating my head against a wall of C#.... I'm an artist type trying to teach myself enough code to work with data through EZgui,..and playmaker...

    If you were interested in a pre-sale of this project, and I could make use of the code...i'd be very interested...

    d
     
  38. raymri

    raymri

    Joined:
    Feb 7, 2012
    Posts:
    5
    Hi Little Angel,
    Sorry for the not replying, cause I am not familiar with this forum system.
    and I just modify Inventory Manager and it looks great for my rehabilitation system

    Here comes the one for your reference.

    Ray
    Blog
    Web
     
  39. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Wow! Thanks! Great to see it in use!
     
  40. TouchSoft

    TouchSoft

    Joined:
    Oct 18, 2008
    Posts:
    218
    Does this system expose the data so that I could use any GUI system I want? or does it automatically just spit out UnityGUI?
     
  41. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    The drag and drop system is written in Unity's GUI and used OnGUI and the GUI Event system. There are core pieces that can be reused and the core inventory is somewhat independent of OnGUI. The basic inventory logic is identical between my EZGui and OnGUI solutions.

    That being said, you'd have to do some work to rip it out and make it UI Independent.
     
  42. Jornaman

    Jornaman

    Guest

    Joined:
    Mar 11, 2012
    Posts:
    4
    Hi Little Angel,

    I just picked up IM today and like many others I am liking it a lot. Thank you for making such a cool tool for Unity. I'm pretty much a newb to programming games but I do have some scripting knowledge. Not a lot but some. Hence my excitement about using Unity and IM. I'll be sure to leave a review in a few days after checking IM out some more.

    A few questions I have:

    In the InventoryManager inspector is there a way to set the Window Rects X + Y position so they work off screen height and width to set the window position?

    Is there a way to set IM to open the Inventory window by clicking on a bag icon?

    I'm looking forward to some of the features you have spoken about. Quests, Currency, Vendors, Multiplayer set up, and Stacking. Any progress?

    Thanks for all your efforts.
     
  43. Jornaman

    Jornaman

    Guest

    Joined:
    Mar 11, 2012
    Posts:
    4
    Hi Little Angel,

    I was wondering if there was a way to set the windows so they are drag-able by the user? I looked but I didn't see any settings for it. If not, is there a script editor that you might recommend for achieving that goal? Or maybe a script I have overlooked? I have been looking at getting Antares Universe. It looks like it may but I'm not sure.

    I'll be honest , at the moment I have read up on soo much stuff in the assets store in think I have gray matter leaking out my ears. A bit over whelming but I'm getting there. Still I'm enjoying working with unity and the stuff that folks make for the store. It is a great system.
     
  44. Carsten

    Carsten

    Joined:
    Mar 28, 2010
    Posts:
    1
    +1 for the EZGUI version :)

    Please keep us posted.
     
  45. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    A bug was introduced in the 3.5.x cycle that prevented loading files with a leading space on Windows machines. This meant that the ReadMe file and Scenes folder needed a workaround to open when downloading some of the packages.

    This has been fixed in 3.5.5:
    http://unity3d.com/unity/whats-new/unity-3.5.5
     
  46. daisySa

    daisySa

    Joined:
    Dec 29, 2011
    Posts:
    341
    Is this tool working with Unity 4?
     
  47. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    Yes. This currently works under 4.0. There will be a couple of compile warnings about depreciated editor methods, but they work. I hope to get a new version that does not present warnings while I'm on vacation this winter holiday.
     
  48. daisySa

    daisySa

    Joined:
    Dec 29, 2011
    Posts:
    341
    Thanks - I bought it and it's working fine under Unity 4, it's very useful.

    Just one question though: when opening a chest (as in your demo scene), the contents are centred in the inventory panel. Is it possible to left-justify them?
     
  49. Adam-Buckner

    Adam-Buckner

    Joined:
    Jun 27, 2007
    Posts:
    5,664
    I believe that is set in the gui skin - and it could be using the Unity default - but it's been a while. If this doesn't do the trick, let me know, and I'll look a little more closely.
     
  50. ElectroSphere

    ElectroSphere

    Joined:
    Nov 17, 2012
    Posts:
    50