Skip to content

Commit

Permalink
feat: core logic with example
Browse files Browse the repository at this point in the history
feat: creation of bare bones inventory instance CRUD handling

chore: restructured the item definition to create the item entry

chore: migrated over inventory instance remove logic

chore: added ability to save inventory instances

chore: can now remove multiple inventory items

chore: added inventory load logic

chore: removed item entry save load for simplicity scoping reasons

chore: added get all method to inventory instance

chore: creation of item database ScriptableObject

chore: sample inventory item database window

chore: cRUD window now allows creating new SO items

chore: item types are now dynamically added to the item definition window

chore: table rows now print out as they are added and on init

chore: item entry editor window text is now binded to the display name of the definition

chore: added delete functionality for the item database

chore: editor window now automatically finds and syncs extrenal database changes

chore: version bump

chore: inventory instance helper script to quickly create an inventory

still need to write the save functionality

chore: inventory helper now handles saving to the database by calling a simple method

chore: added a debug print for the inventory helper component

chore: unique entries can now be added and removed (partial support)

chore: added a proposal for editable item entries

chore: tweaks to the custom item entry proposal

chore: items can now be retrieved by ID via get

chore: handled several inventory get and remove edge cases for instances

chore: get all now supports definition base types

chore: added a new item entry base class

chore: added the ability to retreive a casted definition off of the entry

chore: dataResolver now works with save and load

chore: moved data resolver onto definitions from the entries

chore: fixed a bug where items of zero quantity got added by the helper script

chore: item entries can now be swapped between inventories

chore: new inventory Add event

chore: added remove events

chore: added category support to definitions

chore: partial commit for dropdown refactor for categories

chore: added category support in editor window

chore: added search logic to the database window

chore: custom item definitions now appear as expected in the item database add dropdown

chore: categories now update when the database is edited

chore: consolidated GetAll methods and added a category option

chore: consolidated get, remove, and has inventory instance commands

chore: added support for item entry timestamps

chore: inventory instances now support sorting

chore: added a new updated at field that tracks item changes

chore: added updated at sorting

chore: added item ID repair tool

fix: database editor should no longer crash between script edits

chore: added a new wizard to help create the initial item database

chore: wizard now generates a sample getting started script for you

chore: added menu selection screen

chore: creation of sample inventory data

chore: creation of sample inventory static

chore: fixed a bug where the wizard would trigger on cloned project load

chore: created complete feedback loop for player sample inventory

chore: creation of example store

chore: database now supports generating unique IDs on demand

chore: swapped entry timestamps for unique indices

chore: completion of save data

chore: added release branches
  • Loading branch information
ashblue authored and clevercrowgames committed Jul 4, 2023
1 parent b9f3bf6 commit 558fce5
Show file tree
Hide file tree
Showing 324 changed files with 28,292 additions and 318 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ UIElementsSchema/

# Visual Studio cache directory
.vs/
.idea/

# Gradle cache directory
.gradle/
Expand All @@ -43,6 +44,7 @@ ExportedObj/
*.mdb
*.opendb
*.VC.db
.vscode/

# Unity3D generated meta files
*.pidb.meta
Expand All @@ -51,6 +53,7 @@ ExportedObj/

# Unity3D Generated File On Crash Reports
sysinfo.txt
mono_crash*

# Builds
*.apk
Expand Down
2 changes: 1 addition & 1 deletion .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npx --no -- commitlint --edit
npx --no -- commitlint --edit ${1}
3 changes: 3 additions & 0 deletions .releaserc
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
{
"release": {
"branches": ["master", "main"]
},
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
Expand Down
File renamed without changes.
8 changes: 8 additions & 0 deletions Assets/Examples/Resources.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 36 additions & 0 deletions Assets/Examples/Resources/ItemDatabase.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a600bc502ed14cf5980ca274873f182a, type: 3}
m_Name: ItemDatabase
m_EditorClassIdentifier:
_definitions:
- {fileID: 11400000, guid: d3988ba3f8a2c44e6a1b98201ce75ee2, type: 2}
- {fileID: 11400000, guid: 4e2438a1b36c043e587e88575d07b5ff, type: 2}
- {fileID: 11400000, guid: 5e7593ddbeb614a3984bd7fcc9251406, type: 2}
- {fileID: 11400000, guid: af5f8c4cbc9ca47399a535ac79bca821, type: 2}
- {fileID: 11400000, guid: 253e7bd4ad4eb4c3ea08b7125e4e7372, type: 2}
- {fileID: 11400000, guid: 8bf3e6d26a2462f4ab078b47e1925c4f, type: 2}
- {fileID: 11400000, guid: a4f24e396c14b4438bdac660cb3768e8, type: 2}
- {fileID: 11400000, guid: ab590e04be0294a76b81e859c4263afb, type: 2}
- {fileID: 11400000, guid: f0a0b304827894feb81ecf23309eab1c, type: 2}
- {fileID: 11400000, guid: e7bbdeb0bc0ba42d191d18e2ea1fc743, type: 2}
- {fileID: 11400000, guid: 06eaa045c74964ba182ff9156b55f42e, type: 2}
- {fileID: 11400000, guid: ed8218179ad2a4cff97be93b37f2445b, type: 2}
- {fileID: 11400000, guid: dec899d6e9c7a44e6bdfc1ab1b33cfd6, type: 2}
- {fileID: 11400000, guid: 9f77921cfc0df4d3996ebcabcf7b4f4c, type: 2}
_categories:
- Default
- Important
- Weapon
- Hide
- Potion
- Recipe
8 changes: 8 additions & 0 deletions Assets/Examples/Resources/ItemDatabase.asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Assets/Examples/Shop.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Assets/Examples/Shop/Definitions.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions Assets/Examples/Shop/Definitions/AncientGem.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c7eda25e41964b24fb6b9fb1353e5966, type: 3}
m_Name: AncientGem
m_EditorClassIdentifier:
_id: c5d02424-8615-466c-b0ad-890cd7ad1461
_displayName: Ancient Gem
_image: {fileID: 21300000, guid: cb17d85174959467c808508d0f3c5fa8, type: 3}
_cost: 10
_description: The Seraph's Tear, an ancient gem of incomparable beauty and mystique,
has long been the subject of myth and legend.
_category: 1
8 changes: 8 additions & 0 deletions Assets/Examples/Shop/Definitions/AncientGem.asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 22 additions & 0 deletions Assets/Examples/Shop/Definitions/CarnFlower.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c7eda25e41964b24fb6b9fb1353e5966, type: 3}
m_Name: CarnFlower
m_EditorClassIdentifier:
_id: 434528fd-3fa1-4779-988e-378dcbe9063d
_displayName: Carn Flower
_image: {fileID: 21300000, guid: 2df317ecb508a4281a5a6e644e936523, type: 3}
_cost: 3
_description: The Carn Flower, a fantastical flower that grows in the heart of
the Eldwood Forest, is renowned in all mythical realms for its extraordinary
healing properties.
_category: 0
8 changes: 8 additions & 0 deletions Assets/Examples/Shop/Definitions/CarnFlower.asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 23 additions & 0 deletions Assets/Examples/Shop/Definitions/FlamingSword.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9fc961584b0948c5a3ccc032573e690b, type: 3}
m_Name: FlamingSword
m_EditorClassIdentifier:
_id: 058532a9-5f3a-4d92-aabe-ac8d81d3e73b
_displayName: Flaming Sword
_image: {fileID: 21300000, guid: 3dadd2f09bccc4174a60fb52d2dcecda, type: 3}
_cost: 20
_description: The Pyroblade, forged from Stariron, is an iconic flaming sword.
Its fiery aura releases searing heat with each strike, reducing foes to ash.
A symbol of bravery, it exemplifies the warrior's indomitable spirit.
_damage: 10
_energyCost: 3
8 changes: 8 additions & 0 deletions Assets/Examples/Shop/Definitions/FlamingSword.asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 24 additions & 0 deletions Assets/Examples/Shop/Definitions/GiantAxe.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9fc961584b0948c5a3ccc032573e690b, type: 3}
m_Name: GiantAxe
m_EditorClassIdentifier:
_id: 15f3f2c4-c498-479d-876f-a260878a92f3
_displayName: Giant Axe
_image: {fileID: 21300000, guid: a92cca722b46e4ac39fdd45da042c124, type: 3}
_cost: 10
_description: The Titan's Cleaver, a colossal axe, is forged from mountain steel
and ancient oak. Its tremendous blade delivers thunderous swings, decimating
foes with unmatched force. It stands as a symbol of the giants' formidable strength
and resolve.
_damage: 5
_energyCost: 10
8 changes: 8 additions & 0 deletions Assets/Examples/Shop/Definitions/GiantAxe.asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions Assets/Examples/Shop/Definitions/Gold.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c7eda25e41964b24fb6b9fb1353e5966, type: 3}
m_Name: Gold
m_EditorClassIdentifier:
_id: gold
_displayName: Gold
_image: {fileID: 0}
_cost: 0
_description:
_category: 3
8 changes: 8 additions & 0 deletions Assets/Examples/Shop/Definitions/Gold.asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 22 additions & 0 deletions Assets/Examples/Shop/Definitions/HealthPotionMedium.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e164270660ca4f598a280953ed1ab81f, type: 3}
m_Name: HealthPotionMedium
m_EditorClassIdentifier:
_id: c24fb398-ba07-4168-86d5-675200f56e30
_displayName: Health Potion Medium
_image: {fileID: 21300000, guid: 9f05c8edbc90440d8a7ca99fb9673ae7, type: 3}
_cost: 20
_description: The Healing Potion of Halcyon is the stuff of legends, whispered
among the ancient circles of magical healers. Its liquid glows with a radiant
luminescence, reflecting a mesmerizing blend of soothing hues..
_healAmount: 30

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 22 additions & 0 deletions Assets/Examples/Shop/Definitions/HealthPotionSmall.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e164270660ca4f598a280953ed1ab81f, type: 3}
m_Name: HealthPotionSmall
m_EditorClassIdentifier:
_id: bd6b1a10-222e-4435-9ca6-11c4aaf22638
_displayName: Health Potion Small
_image: {fileID: 21300000, guid: 9f05c8edbc90440d8a7ca99fb9673ae7, type: 3}
_cost: 10
_description: The Healing Potion of Halcyon is the stuff of legends, whispered
among the ancient circles of magical healers. Its liquid glows with a radiant
luminescence, reflecting a mesmerizing blend of soothing hues..
_healAmount: 5
8 changes: 8 additions & 0 deletions Assets/Examples/Shop/Definitions/HealthPotionSmall.asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 23 additions & 0 deletions Assets/Examples/Shop/Definitions/HealthPotionSmallRecipe.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 482fb64ecffa4001a2d6363de48beb51, type: 3}
m_Name: HealthPotionSmallRecipe
m_EditorClassIdentifier:
_id: 6d1dab0b-a262-4e01-b287-dfbdb1e1f2ee
_displayName: Health Potion Small Recipe
_image: {fileID: 21300000, guid: 857af2546b9e04194afb0da461002771, type: 3}
_cost: 20
_description: Generates a health potion when used.
_ingredients:
- _definition: {fileID: 11400000, guid: d3988ba3f8a2c44e6a1b98201ce75ee2, type: 2}
_quantity: 3
_result: {fileID: 11400000, guid: 8bf3e6d26a2462f4ab078b47e1925c4f, type: 2}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 22 additions & 0 deletions Assets/Examples/Shop/Definitions/Leather.asset
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c7eda25e41964b24fb6b9fb1353e5966, type: 3}
m_Name: Leather
m_EditorClassIdentifier:
_id: 16bcede9-30ca-4ef6-b1a9-486d57c5ed9c
_displayName: Leather
_image: {fileID: 21300000, guid: 2554010cbdd584354bb1b9d9accab239, type: 3}
_cost: 10
_description: Drakehide, harvested from Ember Peak Drakes, is a prized leather
crafting resource. Its durability and flame-resistance make it ideal for high-quality
armor and accessories.
_category: 0
8 changes: 8 additions & 0 deletions Assets/Examples/Shop/Definitions/Leather.asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 558fce5

Please sign in to comment.