Giter VIP home page Giter VIP logo

Comments (12)

lucoiso avatar lucoiso commented on July 23, 2024

Note: I will start working on this soon. I was focusing on some AzSpeech problems that had occurred in the last few days.

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

Current status:

Last changes

  1. Created some base classes to test the inventory fuctionality via data-driven tools: Data Tables + Data Assets;
  2. Adjust existing Data Assets to receive correct IDs;
  3. Added a testing blueprint to test the implemented functions;

How is it going?

  • Items add/remove are working well;
  • Didn't find a way to work with only UDataAssets, so i've created a FTableRowBase to handle the ID and the respective UDataAsset: The user can search for a UInventoryItemData by giving the Item ID;
  • There's some helper functions inside the UElementusInventoryFunctions class:
    a) GetItemInfoByData: Will search for a FElementusItemInfo inside the InArr by the given UInventoryItemData and return a boolean value referred to the search succession. The passed parameter ItemIndex is a int reference that will be updated with the item index if the function find a valid data;
    b) GetItemInfoById: Will search for a FElementusItemInfo inside the InArr by the given Item ID (InID) and return a boolean value referred to the search succession. The passed parameter ItemIndex is a int reference that will be updated with the item index if the function find a valid data;
    c) GetUniqueElementusItemById: Will search for a UInventoryItemData inside the passed InDataTable (FElementusItemRowData) using the SearchString as the target RowName.
    d) SearchElementusItem: Will search for a Array of items inside the InDataTable (FElementusItemRowData) based on the given parameters.

Note:

  • AElementusInventoryPackage is not yet implemented.
  • I don't recommend trying to use this update as it is still in the initial work-in-progress state.

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

Current Status:

Last Changes

  1. Set data-driven objects to use DataAsset;
  2. Adjust 'search and get' functions to use the AssetManager;
  3. Adjust and improve existing and new DataAssets;
  4. Adjust folders organization;
  5. Remove some unused features;
  6. Create new DataAssets for missing abilities;
  7. Set IDs for existing and new DataAssets;

How is it going?

image

  • The item management now is based on the AssetManager: The items are UPrimaryDataAssets objects that can be loaded/unloaded at runtime using the Asset Manager.
  • The search is asynchronous and based on FPrimaryAssetIDs.

image

image

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

Current Status:

Last Changes

  1. Adjust inventory related functions, actors and components;
  2. Started working with the Inventory Package;
  3. Add debugging functions to test how is it going;

How is it going?

  • There's some testing assets inside the plugins folder. The last one created was a Package Actor to test Add/Remove items from inventory and package and the behavior of "trade" between player and package.

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

Current Status:

image

Last Changes

  1. Add widget to test inventory trade with a package;
  2. Add delegate to track inventory updates;
  3. Adjust folders;
  4. Add new helper functions;

How is it going?

  • The package testing actor will open a widget when overlapped to test inventory trade between the packaged items and the player inventory.

To use the widget: Just overlap the package with the character and double-click a item in the list.

Note: not working with multiplayer, it's currently a work in progress.

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

Current Status:

EI_Client_Pic_1

EI_Client_Pic_2

EI_Client_Pic_3

Last Changes

  1. Add multiplayer support

How is it going?

  • Now it's working on multiplayer simulations,

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

Current Status:

Last Changes

  1. Set the inventory system to use FPrimaryDataIds instead custom structures and adapted the entire code to follow this way;
  2. The functions used are responsible for asynchronously loading and unloading the item data at runtime;

How is it going?

  • Now the system uses FPrimaryDataIds and the assets will be unloaded after every call of the created functions.
  • The system will load -> store -> unload -> return the results;

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

Current Status

image

Last Changes

  1. Added a PostEditChangePropertyfunction to check the data that was passed into the item stack
  2. Set a filter to log the item stack validation because the CDO is being verified too
  3. Added a message dialog to warn the user about the wrong item data
  4. Added two new functions: CanReceiveItem and CanGiveItem (currently unused)

How is it going?

  • When the user try to add a item to a item stack that derives from a class different than UInventoryItemData, the system will check all items and remove them from the item stack. Also will open a message dialog and print the informations in the log.
  • About the filter: For some reason, the PostEditChangeProperty was being called 3 times on every change, so i added this filter to only call if the change came from the default asset or from a world placed actor (IsSelectedInEditor() if WITH_EDITOR is true).
  • The CanReceiveItem will check if the inventory owner can handle the new items (will check the weight) and and CanGiveItem will verify if the inventory owner have the passed item with the given quantity.

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

The last commits made some changes to this repository:

  1. Updated the EOS SDK
  2. Remove the external dependency plugins from 'Plugins' folder
  3. Set the external dependency plugins as submodules and created repositories for each one

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

Upcoming feature

Editor Module

image

image

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

Last Changes

Started creating a list to show all created items in one unique windows. Will create some options to sort, filter, open items and a option to create new items directly from this window.

image

from ueproject_elementus.

lucoiso avatar lucoiso commented on July 23, 2024

image

from ueproject_elementus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.