diff --git a/Phase2/Godot_Toolset/CodeSandboxes/ToolsetProjectTemplate/GenresSubstitution/genre_sub.gd b/Phase2/Godot_Toolset/CodeSandboxes/ToolsetProjectTemplate/GenresSubstitution/genre_sub.gd index 40deb4d..7826a1c 100644 --- a/Phase2/Godot_Toolset/CodeSandboxes/ToolsetProjectTemplate/GenresSubstitution/genre_sub.gd +++ b/Phase2/Godot_Toolset/CodeSandboxes/ToolsetProjectTemplate/GenresSubstitution/genre_sub.gd @@ -7,14 +7,11 @@ const SQLite = preload("res://addons/godot-sqlite/bin/gdsqlite.gdns") var db var db_name = "res://databases/genre_sub" - - # An item will contain the ID of the item in question, followed by the genre name, and the alias provided. # Examples of how to use createItem # createItem("Melee-Weapon") -# createCollection("Dessert Ration Item") -# createCollection("Single Rider Vehicle") - +# createItem("Dessert Ration Item") +# createItem("Single Rider Vehicle") func createItem(inputNameString): db.open_db() var tableName = "Item" @@ -29,7 +26,6 @@ func createItem(inputNameString): # createCollection(3, "SciFi", "Plasma Pistol") # createCollection(3, "ModernDay", "9MM Handgun") # createCollection(3, "Fantasy", "Shortbow") - func createCollection(ItemID, collectionName, aliasName): db.open_db() var tableName = "Collection" @@ -41,36 +37,72 @@ func createCollection(ItemID, collectionName, aliasName): print(dict) - -#Not to sure about this one. We may need to talk about a refactor here -func createGenreSubstitutionLayer(collectionID): +# This will r all records under a genreName. +# Examples of how to use +# readCollectionByGenreName("SciFi") +# readCollectionByGenreName("ModernDay") +# readCollectionByGenreName("Fantasy") +func readCollectionByGenreName(feedName): db.open_db() - var tableName = "Genre_Substitution_Layer" - var dict : Dictionary = Dictionary() - dict["collectionID"] = collectionID - db.insert_row(tableName,dict) - print(dict) + var tableName = "Collection" + db.query("select * from " + tableName + " where genreName = \"" + str(feedName) + "\"") + for i in range(0, db.query_result.size()): + print("TEST") + print("Query results ", db.query_result[i]["itemAlias"], db.query_result[i]["primaryKey"]) + return db.query_result -func getItemsByID(id): +#Not to sure about this one. We may need to talk about a refactor here +#func createGenreSubstitutionLayer(collectionID): +# db.open_db() +# var tableName = "Genre_Substitution_Layer" +# var dict : Dictionary = Dictionary() +# dict["collectionID"] = collectionID +# db.insert_row(tableName,dict) +# print(dict) +# + +func readItemsByID(id): db.open_db() db.query("select Item.baseName as baseName, Collection.collectionName as genreName from Item left join Collection on Item.primaryKey = Collection.itemID where Item.primaryKey = " + str(id)) for i in range(0, db.query_result.size()): print("Query results ", db.query_result[i]["baseName"], db.query_result[i]["genreName"]) return db.query_result - -# TO DO: Modify this query to provide a list of all items, that use the refer to the same base item; using item.baseName as the query item +# This will delete an Item record under your desired ID. +# Examples of how to use deleteItemByID +# deleteItemByID(2) +func deleteItemByID(id): + db.open_db() + var tableName = "Item" + db.query("delete from " + tableName + " where primaryKey = " + str(id)) + print("Deleted Item by ID " + str(id) + ".") + + +# This will delete a Collection record under your desired ID. +# Examples of how to use deleteCollectionByID +# deleteCollectionByID(2) +func deleteCollectionByID(id): + db.open_db() + var tableName = "Collection" + db.query("delete from " + tableName + " where primaryKey = " + str(id)) + print("Deleted Collection by ID " + str(id) + ".") + +# This will read an Item record under your desired baseName. +# Examples of how to use readItemByBaseName +# readItemByBaseName("sword") +func readIDByBaseName(feedName): + db.open_db() + var tableName = "Item" + db.query("select primaryKey as itemIDKey from " + tableName + " where baseName = \"" + str(feedName) + "\""); + for i in range(0, db.query_result.size()): + print("ID = ", db.query_result[i]["itemIDKey"]) + return db.query_result -#func getItemsByBaseName(feedName): -# db.open_db() -# db.query("select Item.baseName as baseName, Collection.collectionName as genreName from Item left join Collection on Item.primaryKey = Collection.itemID where Item.primaryKey = " + str(feedName)) -# for i in range(0, db.query_result.size()): -# print("Query results ", db.query_result[i]["baseName"], db.query_result[i]["genreName"]) -# return db.query_result - -func readItem(): +#This will read all items in the entire database. +#Just call this function to return them. +func readItems(): db.open_db() var tableName = "Item" db.query("select * from " + tableName) @@ -81,10 +113,4 @@ func readItem(): func _ready(): db = SQLite.new() db.path = db_name - getItemsByID(3) pass # Replace with function body. - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass diff --git a/Phase2/Godot_Toolset/CodeSandboxes/ToolsetProjectTemplate/databases/genre_sub.db b/Phase2/Godot_Toolset/CodeSandboxes/ToolsetProjectTemplate/databases/genre_sub.db index 21dba53..490eda4 100644 Binary files a/Phase2/Godot_Toolset/CodeSandboxes/ToolsetProjectTemplate/databases/genre_sub.db and b/Phase2/Godot_Toolset/CodeSandboxes/ToolsetProjectTemplate/databases/genre_sub.db differ