PageSourceSearch

https://elmarathstudio.netlify.app/assets/js/b0062472.8498c8f3.js

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

1"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[7042],{2499:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/T_DynamicInputSystemThumbanil-9c7851a4088f539fcaeee5ba4ce6fd52.png"},8516:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/T_EasyAbilitySetSystem_Logo-a3d2776b41f405833c0fede2397ff5b1.png"},10968:(e,t,i)=>{i.d(t,{J:()=>s,u:()=>a});var n=i(25901);const s=[{id:"StagedInteractionSystem",title:"Staged Interaction System",Img:i(33037).A,description:"Staged Interaction System that uses stages as a way to create complex player interactions with ease.",DocLink:"docs/Staged-Interaction-System/Overview",FabLink:"https://www.fab.com/listings/ea6cda8e-25b1-434e-a9ab-1c2bbaa5fe67"},{id:"EasyTraceTrailSystem",title:"Easy Trace-Trail System",Img:i(45155).A,description:"A modular, optimized solution for easily controlling and extending hit results from continuous hit trails.",DocLink:"/docs/Easy-Trace-Trail-System/EasyTraceTrailSystem",FabLink:"https://www.fab.com/listings/86d9af14-9ab3-4c47-83b2-96eb6a4b5957"},{title:"Ability Queue Task System",Img:i(67886).A,description:"Extension of Epic's Gameplay Ability System. Enables queueable abilities with priority-based activation.",DocLink:"/docs/Ability-Queue-Task-System/Overview",FabLink:"https://www.fab.com/listings/554398ff-338b-43da-bf43-b081ef166b92"},{title:"Nested Inventory Architecture",Img:i(67378).A,description:"Create customizable, nested, section-based, object-oriented inventory systems for intuitive gameplay.",DocLink:"/docs/Nested-Invnetory-Architecture/AboutNestedInventoryArchitecture",FabLink:"https://www.fab.com/listings/320f157f-9241-47ee-9f32-63aaf744f509"},{title:"Modular Action System",Img:i(60229).A,description:"A modular, data-driven action system for games. Network-ready and easy to customize.",DocLink:"/docs/Modular-Action-System/About-Modular-Action-System",FabLink:"https://www.fab.com/listings/6ef3ecaa-1a2f-4056-a209-cf228df40c3f"},{title:"Easy Skeletal Mesh Merge Async",Img:i(88612).A,description:"A simple and optimized workflow to create modular characters via skele merging.",DocLink:"/docs/Easy-Skeletal-Mesh-Merge-Async/EasySkeletalMeshMergeAsync",FabLink:"https://www.fab.com/listings/616906a0-c73d-4e7a-9002-866a6d9751d5",GitHubLink:"https://github.com/Elmarath/EasySkeletalMeshMergeAsync"},{title:"Easy Ability Set System",Img:i(8516).A,description:"Ability Set Management System that handles both granting and input binding for Gameplay Ability System.",DocLink:"/docs/Easy-Ability-Set-System/EasyAbilitySetSystemStartup",FabLink:"https://www.fab.com/sellers/Elmarath"},{title:"Dynamic Input System",Img:i(2499).A,description:"A flexible, runtime input management system that allows dynamic binding and modification of input mappings during gameplay.",DocLink:"/docs/Dynamic-Input-System/DynamicInputSystem",GitHubLink:"https://www.fab.com/listings/cdf2ad8e-b9b7-4b4e-87bb-fdcfbe3c3b2b",FabLink:"https://www.fab.com/listings/cdf2ad8e-b9b7-4b4e-87bb-fdcfbe3c3b2b"}],a=[{id:"email",label:"Email",value:n.ku.email,link:`mailto:${n.ku.email}`,icon:"mail",action:"link"},{id:"resume",label:"Resume/CV",value:"View my professional CV",link:"/docs/DenizhanToprak_Resume.pdf",icon:"resume",action:"resume"},{id:"linkedin",label:"LinkedIn",value:"Connect with me on LinkedIn",link:n.ku.linkedinUrl,icon:"linkedin",action:"external"},{id:"github",label:"GitHub Profile",value:"View all my projects",link:n.ku.githubUrl,icon:"github",action:"external"},{id:"blog",label:"About Me Blog",value:"Read my personal story and journey",link:n.ku.blogPath,icon:"blog",action:"navigate"}]},25901:(e,t,i)=>{i.d(t,{ku:()=>n});const n={name:"Denizhan Toprak",title:"C++ Gameplay Programmer",email:"[email protected]",github:"https://github.com/elmarath",githubUrl:"https://github.com/elmarath",linkedin:"https://www.linkedin.com/in/denizhan-toprak-006073193/",linkedinUrl:"https://www.linkedin.com/in/denizhan-toprak-006073193/",resume:"https://docs.google.com/document/d/1NyO2H-jLeTuhU76wPoMm6xU3kDFCQn3Dn-A5imPmtfA/edit?tab=t.0",resumeUrl:"https://docs.google.com/document/d/1NyO2H-jLeTuhU76wPoMm6xU3kDFCQn3Dn-A5imPmtfA/edit?tab=t.0",avatar:"https://avatars.githubusercontent.com/u/65414809?v=4",description:"Unreal Engine C++ Developer. Creator of this platform and it's listed tools. Let's connect!",blogPath:"/blog/About Me"}},28453:(e,t,i)=>{i.d(t,{R:()=>r,x:()=>o});var n=i(96540);const s={},a=n.createContext(s);function r(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(a.Provider,{value:t},e.children)}},33037:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/T_StagedInteractionThumbnail-f52c7615a1914b0a177bf067ac5236f8.png"},45155:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/T_EasyTraceTrailSystemThumbnail-4b9937a81de461b0f69e6d4907adc5b7.png"},48353:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"Nested-Invnetory-Architecture/AboutNestedInventoryArchitecture","title":"About Nested Inventory Architecture","description":"Nested Inventory Architecture (abbreviated as NIA) will allow your players to create and interact with inventories intuitively and easily with the help of Nested Inventory, Object Based, Section Based approach with customizable architecture!","source":"@site/docs/Nested-Invnetory-Architecture/AboutNestedInventoryArchitecture.md","sourceDirName":"Nested-Invnetory-Architecture","slug":"/Nested-Invnetory-Architecture/AboutNestedInventoryArchitecture","permalink":"/docs/Nested-Invnetory-Architecture/AboutNestedInventoryArchitecture","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1},"sidebar":"tutorialSidebar","previous":{"title":"Nested Inventory Architecture","permalink":"/docs/category/nested-inventory-architecture"},"next":{"title":"Quick Start","permalink":"/docs/Nested-Invnetory-Architecture/Quick-Start-To-NIA"}}');var s=i(74848),a=i(28453),r=i(85843);const o={sidebar_position:1},c="About Nested Inventory Architecture",l={},d=[{value:"This System Gives You:",id:"this-system-gives-you",level:2}];function h(e){const t={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"about-nested-inventory-architecture",children:"About Nested Inventory Architecture"})}),"\n",(0,s.jsx)(r.A,{pluginId:"NestedInventoryArchitecture"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Nested Inventory Architecture"})," (abbreviated as ",(0,s.jsx)(t.strong,{children:"NIA"}),") will allow your players to create and interact with inventories intuitively and easily with the help of ",(0,s.jsx)(t.em,{children:"Nested Inventory"}),", ",(0,s.jsx)(t.em,{children:"Object Based"}),", ",(0,s.jsx)(t.em,{children:"Section Based"})," approach with customizable architecture!"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsxs)(t.strong,{children:["Access the test build: ",(0,s.jsx)(t.a,{href:"https://drive.google.com/drive/folders/1xf5CE0BjK476kyd_Dy-Yawh19Dgx8Qao?usp=sharing",children:"Here"})]})}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Video Showcase"}),":"]}),"\n",(0,s.jsx)("iframe",{width:"720",height:"480",src:"https://www.youtube.com/embed/sX3nIh14bYM?si=L0XUhGbk8fPzxezw",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture;
1 web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:!0}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.admonition,{type:"note",children:(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"NIA"})," ",(0,s.jsx)(t.em,{children:"-as the name suggests-"})," is an architecture, it allows you to build your inventory based on a well designed structre and ",(0,s.jsx)(t.strong,{children:"it doesn't restrict the way you edit them"}),". There are already defined some basic functions such as: ",(0,s.jsx)(t.em,{children:"Add"}),", ",(0,s.jsx)(t.em,{children:"TransformSlots"}),", ",(0,s.jsx)(t.em,{children:"Discard"}),", ",(0,s.jsx)(t.em,{children:"SetSlot"}),'" etc. But you can ',(0,s.jsx)(t.strong,{children:"override"})," them, or ",(0,s.jsx)(t.strong,{children:"create new editing methods from scratch"}),"!"]})}),"\n",(0,s.jsx)(t.h2,{id:"this-system-gives-you",children:"This System Gives You:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Nested Inventory System"})," will allow items to hold other inventories! Backpacks within packpacks, weapon attachments inside weapons... Everything is possible!"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Object Based Architecture"})," makes possible to make use of inheritance for primitive item types and hold runtime variables for items. Everything an object can do."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsxs)(t.strong,{children:[(0,s.jsx)(t.a,{href:"https://dev.epicgames.com/documentation/en-us/unreal-engine/data-assets-in-unreal-engine",children:"Data Asset"})," Use For Base Info"]})," allows items to hold customized variables types per class with the help of inheritance and many other advantages of using data assets."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsxs)(t.strong,{children:["Sections as ",(0,s.jsx)(t.a,{href:"https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/Tags/",children:"GameplayTags"})]})," used for Inventories that hold sections with different types. Allowing item transform in a much more intuitive manner. Allowing logics like: ",(0,s.jsx)(t.em,{children:"If item tag and section tag matches"})," etc."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Customizable Inventory Editing"})," is always available by ",(0,s.jsx)(t.em,{children:"overriding"})," the related methods or ",(0,s.jsx)(t.em,{children:"create"})," new ones for your project, ",(0,s.jsx)(t.strong,{children:"Blueprints"})," or ",(0,s.jsx)(t.strong,{children:"C++"}),"!"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"NIA_Gallery",src:i(74881).A+"",width:"1920",height:"1080"})})]})}function m(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},51519:(e,t,i)=>{i.d(t,{A:()=>n});const n={pluginLinksContainer:"pluginLinksContainer_Xbps",linksTitle:"linksTitle_v6Hv",linksGrid:"linksGrid_l5Uu",linkButton:"linkButton_FFVW",linkIcon:"linkIcon_j8va",docsButton:"docsButton_y6Gg",fabButton:"fabButton_l3ky",githubButton:"githubButton_eyFH"}},60229:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/T_ModularActionSystemLogo-8f65d3ec08ebf7cac0efeb4e8a2e5f96.png"},67378:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/T_NIA_Thumbnail-88027eb5cb699b50479f5d97e32f4ec9.png"},67886:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/T_AbilityQueueTaskSystemThumbnail-5f7d91c59f3881b0d5809c82cb6e6f83.png"},74881:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/T_NIA_Gallery1-35ca00ea7799581fc24c05fa73868a56.png"},85843:(e,t,i)=>{i.d(t,{A:()=>r});i(96540);var n=i(10968),s=i(51519),a=i(74848);const r=({pluginId:e})=>{const t=n.J.find((t=>t.DocLink.includes(e)||t.title.toLowerCase().includes(e.toLowerCase())));return t?(0,a.jsxs)("div",{className:s.A.pluginLinksContainer,children:[(0,a.jsx)("h3",{className:s.A.linksTitle,children:"Qu
1ick Links"}),(0,a.jsxs)("div",{className:s.A.linksGrid,children:[t.FabLink&&(0,a.jsxs)("a",{href:t.FabLink,target:"_blank",rel:"noopener noreferrer",className:`${s.A.linkButton} ${s.A.fabButton}`,title:"View on Fab",children:[(0,a.jsx)("img",{src:"/img/T_Epic_Games_Fab_2024_icon.svg",alt:"Fab",className:s.A.linkIcon}),(0,a.jsx)("span",{children:"Fab"})]}),t.GitHubLink&&(0,a.jsxs)("a",{href:t.GitHubLink,target:"_blank",rel:"noopener noreferrer",className:`${s.A.linkButton} ${s.A.githubButton}`,title:"View on GitHub",children:[(0,a.jsx)("svg",{className:s.A.linkIcon,viewBox:"0 0 24 24",fill:"currentColor",children:(0,a.jsx)("path",{d:"M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z"})}),(0,a.jsx)("span",{children:"GitHub"})]})]})]}):null}},88612:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/EasySkeletalMeshMergeAsync-f341c8b592d95242c5ff7171ba714117.png"}}]);

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.