PageSourceSearch

https://elmarathstudio.netlify.app/assets/js/c248acf1.d8be7750.js

js elmarathstudio.netlify.app collected 2026-10-03 10:42:10 UTC 13,106 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[4343],{22108:(e,t,i)=>{i.d(t,{A:()=>s});const s=i.p+"assets/images/T_ExampleItemDataAsset-b5659ea669835e64bd1bf3e184f4da6f.png"},28453:(e,t,i)=>{i.d(t,{R:()=>r,x:()=>c});var s=i(96540);const a={},n=s.createContext(a);function r(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(n.Provider,{value:t},e.children)}},40606:(e,t,i)=>{i.d(t,{A:()=>s});const s="data:image/png;base64,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"},77735:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"Nested-Invnetory-Architecture/Data-Structure/ItemStaticDataAsset","title":"Item Static Data Asset","description":"ItemStaticDataImage","source":"@site/docs/Nested-Invnetory-Architecture/Data-Structure/ItemStaticDataAsset.md","sourceDirName":"Nested-Invnetory-Architecture/Data-Structure","slug":"/Nested-Invnetory-Architecture/Data-Structure/ItemStaticDataAsset","permalink":"/docs/Nested-Invnetory-Architecture/Data-Structure/ItemStaticDataAsset","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"Data Structure","permalink":"/docs/category/data-structure"},"next":{"title":"Payload Template Data Asset","permalink":"/docs/Nested-Invnetory-Architecture/Data-Structure/PayloadTemplateDataAsset"}}');var a=i(74848),n=i(28453);const r={sidebar_position:2},c="Item Static Data Asset",d={},o=[{value:"Using Inheritance in Data Assets",id:"using-inheritance-in-data-assets",level:3},{value:"Default NIA Item Data Asset",id:"default-nia-item-data-asset",level:2},{value:"ItemStaticData",id:"itemstaticdata",level:2},{value:"ItemStaticInfo",id:"itemstaticinfo",level:3},{value:"ItemSettings",id:"itemsettings",level:3}];function l(e){const t={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",mermaid:"mermaid",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"item-static-data-asset",children:"Item Static Data Asset"})}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"ItemStaticDataImage",src:i(40606).A+"",width:"64",height:"64"})}),"\n",(0,a.jsxs)(t.p,{children:["Every item are constructed from a ",(0,a.jsx)(t.a,{href:"https://dev.epicgames.com/documentation/en-us/unreal-engine/data-assets-in-unreal-engine",children:"data asset"}),", it's appearence (both in inventory and in game) and all relevant attributes which are static, is holded here. Such as: Mesh, weight, base price etc."]}),"\n",(0,a.jsx)(t.h3,{id:"using-inheritance-in-data-assets",children:"Using Inheritance in Data Assets"}),"\n",(0,a.jsx)(t.p,{children:"You can create new Data Asset Blueprints which your item instances could will from. For example a weapon class should hold its basic damage values, but armor items should hold its armor stats."}),"\n",(0,a.jsxs)(t.p,{children:["This way you can create a clean the data structre by only showing items relevant info, structure assets based on inheritance hierarchy, easily make changes via ",(0,a.jsx)(t.a,{href:"https://docs.unrealengine.com/4.27/en-US/Basics/UI/PropertyMatrix/",children:"Property Matrix"})," or make use ",(0,a.jsx)(t.a,{href:"https://docs.unrealengine.com/4.26/en-US/InteractiveExperiences/UMG/UserGuide/EditorUtilityWidgets/",children:"Editor Utilities"})," (which plug-in has some built in) while editing."]}),"\n",(0,a.jsx)(t.h2,{id:"default-nia-item-data-asset",children:"Default NIA Item Data Asset"}),"\n",(0,a.jsx)(t.p,{children:"By default NIA only provides the attributes that are nececarry for the inventory system to work. Giving developers the maximum flexibility to work with."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Example Item Data Asset Image",src:i(22108).A
1+"",width:"1034",height:"609"})}),"\n",(0,a.jsx)(t.mermaid,{value:"classDiagram\n    class ItemStaticData {\n        ItemStaticInfo ItemStaticInfo\n        ItemSettings ItemSettings\n    }\n    class ItemStaticInfo {\n        Text NAME\n        GameplayTag Type\n        SoftObjPointer<Texture> Icon\n        bool IsStackable\n        Int32 MaxStackSize\n        IntPoint GridSize\n    }\n    class ItemSettings {\n        PayloadTemplate PayloadTemplate\n    }\n    ItemStaticData --\x3e ItemStaticInfo : contains\n    ItemStaticData --\x3e ItemSettings : contains"}),"\n",(0,a.jsx)(t.h2,{id:"itemstaticdata",children:"ItemStaticData"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"ItemStaticData"})," is a class that contains the following properties:"]}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"ItemStaticInfo"}),": An instance of the ",(0,a.jsx)(t.code,{children:"ItemStaticInfo"})," class that contains information about the item."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"ItemSettings"}),": An instance of the ",(0,a.jsx)(t.code,{children:"ItemSettings"})," class that contains settings for the item."]}),"\n"]}),"\n",(0,a.jsx)(t.h3,{id:"itemstaticinfo",children:"ItemStaticInfo"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"ItemStaticInfo"})," is a struct that contains the following properties:"]}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{children:"Property"}),(0,a.jsx)(t.th,{children:"Type"}),(0,a.jsx)(t.th,{children:"Description"})]})}),(0,a.jsxs)(t.tbody,{children:[(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"Name"}),(0,a.jsx)(t.td,{children:"Text"}),(0,a.jsx)(t.td,{children:"The name of the item. By default it is used for showing tooltips when mouse hovers around items at template inventory."})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"Type"}),(0,a.jsx)(t.td,{children:"GameplayTag"}),(0,a.jsxs)(t.td,{children:["The type of the item. Used for checking if the item could enter a section. For example Sections are A: Item B",":Item",".Armor C: Item.Weapon, Item Type is: Item.Armor.Helmet: Item can enter A and B but not C. For more info check ",(0,a.jsx)(t.a,{href:"https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/Tags/",children:"Gameplay Tags"}),"."]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"Icon"}),(0,a.jsx)(t.td,{children:(0,a.jsx)(t.code,{children:"SoftObjPointer<Texture>"})}),(0,a.jsxs)(t.td,{children:["The icon of the item. Used in template inventory icons. Grid size and resulation of the image should match to avoid straching. ",(0,a.jsx)(t.em,{children:"Eg: GridSize: 1x2 -> Res: 256x512"})]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"IsStackable"}),(0,a.jsx)(t.td,{children:"bool"}),(0,a.jsx)(t.td,{children:"Whether the item is stackable."})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"MaxStackSize"}),(0,a.jsx)(t.td,{children:"Int32"}),(0,a.jsx)(t.td,{children:"The maximum stack size of the item."})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"GridSize"}),(0,a.jsx)(t.td,{children:"IntPoint"}),(0,a.jsx)(t.td,{children:"The grid size of the item. For the size of it takes in the inventory."})]})]})]}),"\n",(0,a.jsx)(t.h3,{id:"itemsettings",children:"ItemSettings"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"ItemSettings"})," is a struct that contains the following properties:"]}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{children:"Property"}),(0,a.jsx)(t.th,{children:"Type"}),(0,a.jsx)(t.th,{children:"Description"})]})}),(0,a.jsx)(t.tbody,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"PayloadTemplate"}),(0,a.jsx)(t.td,{children:"PayloadTemplate"}),(0,a.jsx)(t.td,{children:"Every item payload can be created from a template, by doing so setting it's inventory structure, initial inventory items etc. And/Or payload's initial values. By default it creates item's sub inventory."})]})})]})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.