bcirpggithubmirror/Phase2/Godot_Toolset/CodeSandboxes/ToolsetProjectTemplate/GenresSubstitution/genre_sub.gd

117 lines
4.0 KiB
GDScript3
Raw Normal View History

extends Node
# initialize the DB connection.
# All Databases will be under res/databases/{Desired Database}
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")
# createItem("Dessert Ration Item")
# createItem("Single Rider Vehicle")
func createItem(inputNameString):
db.open_db()
var tableName = "Item"
var dict : Dictionary = Dictionary()
dict["baseName"] = inputNameString
db.insert_row(tableName,dict)
print(dict)
# A collection will contain the ID of the item in question, followed by the genre name, and the alias provided.
# Examples of how to use createCollection
# 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"
var dict : Dictionary = Dictionary()
dict["itemID"] = ItemID
dict["collectionName"] = collectionName
dict["itemAlias"] = aliasName
db.insert_row(tableName,dict)
print(dict)
# 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 = "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
#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
# 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
#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)
for i in range(0, db.query_result.size()):
print("Query results ", db.query_result[i]["baseName"], db.query_result[i]["primaryKey"])
# Called when the node enters the scene tree for the first time.
func _ready():
db = SQLite.new()
db.path = db_name
pass # Replace with function body.