Search Unity

Inventory Pro - uGUI - Performance - Mobile support & More

Discussion in 'Assets and Asset Store' started by jorisshh, Mar 8, 2015.

?

What should I build next?

  1. New currency system

    14.1%
  2. Improved serialization / saving for web

    10.8%
  3. Better properties for items (percentages, base values, etc)

    27.2%
  4. Controller support

    15.4%
  5. Unity 5.1 networking (multiplayer)

    36.9%
  6. More modular build to simplify extending

    25.1%
  7. UFPS Multiplayer (Asset integration)

    11.5%
  8. Core GameKit (Asset integration)

    4.1%
  9. Dialogue system (Asset integration)

    21.3%
  10. Wordpress integration (Asset integration)

    4.1%
Multiple votes are allowed.
  1. GreenCubeGames

    GreenCubeGames

    Joined:
    Jan 9, 2015
    Posts:
    19
    can someone answer me? im not a programmer, i buy this asset, and im lil stucked on tutorial pdf
     
  2. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Note entirely sure what you mean by this? Could you give me a use case with your exact problem?
     
    GreenCubeGames likes this.
  3. GreenCubeGames

    GreenCubeGames

    Joined:
    Jan 9, 2015
    Posts:
    19
    if i can craft a chest to store stuffs on craft system, and put on map, like a building... and im stucked on page that is to test the character menu, i dont know how to insert itens on inventory hehehe... im lil noob here, i will start the maindoc again... but i cant find how to put item on maindoc
     
    Last edited: Apr 23, 2015
  4. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    If you wish to add an item to the inventory at run-time you can use the InventoryManager (see example):

    Code (CSharp):
    1. InventoryManager.AddItem(myItem);
    This will add an item to the "best" Inventory that has "loot to collection" enabled in the inspector. The InventoryManager decides which inventory is best based on priority, as well as "only Allow items of type".

    Alternatively you can directly add an item to a collection (like the inventory, bank, etc), by calling
    Code (CSharp):
    1. myCollection.AddItem(myItem);
    And if you wish to create a crafting trigger (If I understand correctly), you can do so by creating any object / model you like, and adding the CraftingStation (renamed in next update to CraftingTriggerer) to the object.
     
    GreenCubeGames likes this.
  5. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
    I just purchased EasySave2 for myself and own Inventory Pro as well, having them work together is another great feature. I love your product BTW and will be giving you a very good review as soon as I can spend a little time on it.
     
  6. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Glad to hear you like it :), far more features on the roadmap. UFPS 1.5 support, Behavior designer support, plyGame support (with attribute's from plyGame :D), collection serialization and saving with async support (Might add a small script to save to a custom mysql database / rest api service), and I'm probably forgetting some things :)
     
    boysenberry likes this.
  7. nuonical

    nuonical

    Joined:
    Feb 28, 2015
    Posts:
    46
    I'll definitely pick this up once UFPS 1.5 support is in. Any eta on that release?
     
  8. JMyerscough

    JMyerscough

    Joined:
    Jul 12, 2012
    Posts:
    117
    I believe they want to make a minecraft sort of game, where you go into the crafting UI and put x amount of materials in a circle and then you get the "bank" chest in your inventory. you can then place that chest somewhere in the overworld and use its function as a bank.

    Thanks for your reply, I appreciate you looking into everything for your customers! The community needs more developers like you.
     
    GreenCubeGames and boysenberry like this.
  9. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    A few more days tops, as Unity can't validate it over the weekend anyway, I'll wait to submit until Monday and make sure it's nicely polished :).
     
    99thmonkey likes this.
  10. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Awww... :) * absolute ego boost *

    If you wish to place objects in the world from inside your inventory, this is of course certainly possible. The easiest way is to create a new item type that is "placable" inside the world and behaves the way you like. (Check the documentation about custom item types)
     
    GreenCubeGames and boysenberry like this.
  11. 99thmonkey

    99thmonkey

    Joined:
    Aug 10, 2012
    Posts:
    525
    Sounds good. Feel free to send me a copy before then so I can check it out.
     
  12. GreenCubeGames

    GreenCubeGames

    Joined:
    Jan 9, 2015
    Posts:
    19
    I want to put a "bank" on a storage chest and use it just for that storage chest, can i do multiple banks? one for every storage chest that the player do ingame? so we can do containers
     
    Last edited: Apr 24, 2015
  13. Yarith

    Yarith

    Joined:
    Mar 3, 2014
    Posts:
    1
    Uh, one more weekend to get over :) Can´t wait for the plyGame Integration after all those fine screenshots you showed! :) Hope Unity will be fast with validation :D Thanks a lot in advance, it is awesome as it is and still getting so much better :D
     
  14. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    The bank is currently 1 single instance, in other words 10 banks will all have the same items in it. If you wish to create a collection per triggerer in the world you'll need a bit of custom code, but not to worry it's only like 2 lines of code (alright, 5..).

    First off, create the item array in your triggerer object (in a custom script)

    Code (CSharp):
    1. public BankWindow window;
    2. public InventoryItemBase[] items { get; protected set; }
    3. public ObjectTriggerer triggerer{get; protected set;}
    4.  
    5. public void Awake()
    6. {
    7. items = new InventoryItemBase[100]; // For example 100...
    8. triggerer = GetComponent<ObjectTriggerer>();
    9. triggerer.OnUse += () => window.SetItems(items); // Set the items in the window.
    10. }
    And that's it, add the file to a BankTriggerer, and when opened / used, the items from the bank will be set in the window.
     
    GreenCubeGames likes this.
  15. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    got Assets/Easy Save 2/ES2Init.cs(54,182): error CS1526: A new expression requires () or [] after type

    when add this line
    ES2TypeManager.types[typeof(Devdog.InventorySystem.Integration.EasySave2.ItemSaveLookup)] = new ES2UserType_DevdogInventorySystemIntegrationEasySave2ItemSaveLookup();


    any way for craft generate always new item

    sorry and for vendor the generator get script for control how is generate for exemple i have buy
    Lexic: A Procedural Name Generator and want combine on it
     
    Last edited: Apr 24, 2015
  16. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Could you send me the script in context or a screenshot of it? Not entirely sure what went wrong.
     
  17. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    it's on ES2Init file just like the docs say maybie must add using Devdog.InventorySystem;

    #if EASY_SAVE_2 is active on integration script






    stop me if i'am wrong the best way for generate item is instanciate and save prefab
     
  18. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Err.. The only thing I see that's out of the ordinary is the space after the 2nd type definition, although this likely won't solve the problem. Could you send me the file at joris@devdog.nl, and I'll have a look at it.

    Edit:
    For those following along, it turned out to be a character encoding problem.
     
    Last edited: Apr 25, 2015
  19. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using System.Collections.Generic;
    4. using System.Linq;
    5. using Devdog.InventorySystem;
    6.  
    7.  
    8. public class Generation : MonoBehaviour {
    9.  
    10.     public List<Sprite> spr;
    11.  
    12.     public List<string> namelist;
    13.  
    14.     public Lexic.NameGenerator namegen;
    15.  
    16.     public GameObject obj;
    17.  
    18.     public int Count;
    19.  
    20.     public Devdog.InventorySystem.Models.InventoryItemRarity rare;
    21.  
    22.  
    23.     // Use this for initialization
    24.     void Start () {
    25.  
    26.     //    item.name =     namegen.GetNextRandomName();
    27.  
    28.         for (int i = 0; i < Count; i++) {
    29.    
    30.             GameObject ob = Instantiate(obj)as GameObject;
    31.  
    32.             EquippableInventoryItem eq = ob.GetComponent<EquippableInventoryItem>() as EquippableInventoryItem;
    33.  
    34.             eq.agility = 5;
    35.             eq.buyPrice = 5;
    36.             eq.sellPrice = 5;
    37.             eq.icon = spr[i];
    38.  
    39.             eq.name = namegen.GetNextRandomName();
    40.             //eq.rarity = rare;
    41.  
    42.         }
    43.  
    44.     }
    45.    
    46.     // Update is called once per frame
    47.     void Update () {
    48.    
    49.     }
    50. }
    51.  
    ok have start generator
    i'am block for set the the rarity
     
  20. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    Yeearh sorry for make noobie for custom box size
    of one InventoryWindow i find the Grid where padding is setup
    i have try change the UI_Item_PFB prefab nothing to do (;
     
  21. MarkHenderson

    MarkHenderson

    Joined:
    Oct 28, 2013
    Posts:
    16
    Does this system integrate with the UFPS inventory and weapon system?

    The docs only mention input and mouse freezing. I picked up this asset hoping it would do weapon reassignment, ammo inventory, etc.
     
  22. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Actually, it does :), weapons are stored in the inventory and can then be equipped to the character system, and of course un-equipped. Ammo can either be stored in the inevntory, or get directly added to the associated weapons.
    I'm also currently (right now actually) working on consumables like health pickup, slowmo for the inventory.

    Weapon re-ordering inside the character screen is possible (if the slots allow it), however don't directly affect the order in which their equipped in UFPS, as it follows UFPS ordering.
     
  23. MarkHenderson

    MarkHenderson

    Joined:
    Oct 28, 2013
    Posts:
    16
    Awesome, and thanks for the quick response.

    I just found the UFPS demo scene, but the mouse doesn't get freed when showing inventory windows (using up to date Unity 5).
     
  24. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    There are some small bugs, I originally developed on UFPS 1.4.9, which broke when UFPS released 1.5, currently fixing the remaining bugs and adding some small features. Should be live (with some luck), by the end of the upcoming week.
     
    99thmonkey likes this.
  25. MarkHenderson

    MarkHenderson

    Joined:
    Oct 28, 2013
    Posts:
    16
    Awesome. If you've already got the cursor locking bug sorted, would you mind pasting in a fix? I'd like to work on getting this set up and integrated.
     
  26. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Afraid that won't work, I did some refactoring to keep it consistent with other code, so there isn't a quick fix without replacing 5-6 files :(, don't worry it should be live soon.
     
    99thmonkey likes this.
  27. MarkHenderson

    MarkHenderson

    Joined:
    Oct 28, 2013
    Posts:
    16
    FYI - supporting weapon reordering in UFPS would actually be fairly easy - just disable UFPS's default weapon selection setup (vp_FPInput.InputSetWeapon()) and keep a map of what weapon to UFPS Index.

    If slot 1 is selected, check if that item maps to a UFPS weapon, and call
    Code (CSharp):
    1. FPPlayer.SetWeapon.TryStart(weapon.UFPSIndex);
    If the slot isn't a weapon, call
    Code (CSharp):
    1. FPPlayer.SetWeapon.TryStart(0);
     
  28. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hm.. looks simple enough, thanks for the tip :)
     
    boysenberry likes this.
  29. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    i forget important think's in the how do
    return the stat of main caracther lol !!
    it is one Dictionary of List<InventorEquipStatRowLookup>
    any tip please for read i never use dictionary before
     
  30. GreenCubeGames

    GreenCubeGames

    Joined:
    Jan 9, 2015
    Posts:
    19

    Thx a lot, u should put this on asset... is 1 more feature, a storage chest
     
  31. blunty

    blunty

    Joined:
    Dec 14, 2012
    Posts:
    7
    Hi there , have been working on the UFPS integration and have gotten good results (even if using U5 and UFPS1.5) just a couple of things i noticed. The system gets confused if you drag weapons back to the inventory instead of the right click action to remove them , and if you have ammo set to appear in the inventory (say 50 rounds) and have a max item cap on the UFPS inventory (Say 20 rounds) for that type of ammo, when you use the ammo from Inventory System any extra is discarded.

    hopefully the bugs are already on the fix list , but i thought i would post here before i write my own fix in case your planning them :)
     
  32. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Thanks, certainly helpful I didn't know about the ammo bug just yet. The dragging / using has been fixed, will look into the rounds cap problem.
     
  33. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    I don't want to use the InventoryWindow2.
    What should I do ?
     
  34. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Delete it :p, that's it

    You can make as many inventories as you like, or just have 1, it's up to you.
     
  35. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    Thank for your reply. :D
    I will try. :)
     
  36. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    I deleted it(InventoryWindow2).
    However, it's error.

    NullReferenceException: Object reference not set to an instance of an object
    Devdog.InventorySystem.UIWindowSync.<Awake>m__2F () (at Assets/InventorySystem/Scripts/UI/HelperComponents/UIWindowSync.cs:35)
    Devdog.InventorySystem.UIWindow.Show () (at Assets/InventorySystem/Scripts/UI/WindowHelpers/UIWindow.cs:204)
    Devdog.InventorySystem.UIWindow.Toggle () (at Assets/InventorySystem/Scripts/UI/WindowHelpers/UIWindow.cs:176)
    Devdog.InventorySystem.UIWindow.Update () (at Assets/InventorySystem/Scripts/UI/WindowHelpers/UIWindow.cs:141)
     
  37. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    About inventory if i got somethink's like

    Code (CSharp):
    1.  
    2.  
    3.  
    4. public Devdog.InventorySystem.InventoryUI item;
    5.  
    6.  
    7. foreach (var it in item.items) {
    8.  
    9.  
    10. InventoryManager.RemoveItem( it.item.ID , it.item.currentStackSize,false);
    11.  
    12.  
    13. }
    it's work on the first InventoryWindow and do nothing on another one
     
  38. Sphelps

    Sphelps

    Joined:
    Jun 9, 2013
    Posts:
    243
  39. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    You can grab character stats through InventoryManager.instance.character.characterStats["categoryName"] // this will give you all stats in a category, and from this you can grab the stat you like, use linq for example

    Code (CSharp):
    1. InventoryManager.instance.character.characterStats["Default"].FirstOrDefault(o => o.statName == "agility"); // Grabs "agility" from the "Default" category.
     
  40. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    That sure is one awesome looking UI design :D, looks like all elements are fully functional as well and are ready to be connected to Inventory Pro. I'm done with the development cycle and have started working on documentation, I'll include extra pages on how to integrate your own design.

    In the meantime, feel free to throw me some questions :)
     
  41. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    What you're doing now is manipulating a collection directly, this doesn't take all inventories in consideration. If you like to remove an item from any inventory use InventoryManager.RemoveItem(item, amount, false); instead. Note that the 3rd parameter also allows you to check if the item is in the bank.
     
  42. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Make sure you remove the UIWindowSync component from the main inventory. This component makes sure the other window is shown and hidden when the primary inventory is toggled.
     
  43. Sphelps

    Sphelps

    Joined:
    Jun 9, 2013
    Posts:
    243
    When do you think that will be?
     
  44. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Submitting on Monday, considering Unity takes roughly 4-5 days to validate an asset, so.. Friday with some luck :)
     
  45. Sphelps

    Sphelps

    Joined:
    Jun 9, 2013
    Posts:
    243
    Dang lol
     
  46. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    Thanks, it's working. :D
     
  47. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    Hi, jorisshh. :)
    I want non- active NoticeUI.
    What should I do ?
     
  48. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    I bought your Asset . Expect you to the promised integration AFPS Multieplayer and skinning )))
     
  49. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hey Alex, I don't believe I've ever promised UFPS multiplayer, it's under consideration and will likely build support for it in the upcoming weeks.

    Is what I wrote last week. Skinning requires a little bit of custom code, documentation for this is on it's way.
     
  50. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    If you don't want the notice window, just delete it, if you want to keep it but disable all messages you can either disable the component, or remove all notifications (empty them) from the language editor.