From 679a3187f7713d5844b5be8a7bb5e03941a5665a Mon Sep 17 00:00:00 2001 From: gotfishmakesticks <80163046+gotfishmakesticks@users.noreply.github.com> Date: Mon, 6 Nov 2023 12:12:22 +0300 Subject: [PATCH] Added item resource --- items/test_item.tres | 15 +++++++++++++++ scripts/game.gd | 46 +++++++++++++++++++++++--------------------- scripts/item.gd | 11 +++++++++++ 3 files changed, 50 insertions(+), 22 deletions(-) create mode 100644 items/test_item.tres create mode 100644 scripts/item.gd diff --git a/items/test_item.tres b/items/test_item.tres new file mode 100644 index 0000000..e8800e9 --- /dev/null +++ b/items/test_item.tres @@ -0,0 +1,15 @@ +[gd_resource type="Resource" script_class="Item" load_steps=4 format=3 uid="uid://bii3yrhoqcket"] + +[ext_resource type="Texture2D" uid="uid://c3gei46k8muk3" path="res://sprites/laserbox.png" id="1_e5k7o"] +[ext_resource type="Script" path="res://scripts/item.gd" id="1_s7nhb"] +[ext_resource type="Texture2D" uid="uid://dbwvej0c5bl52" path="res://sprites/ship mk1.png" id="2_l1qse"] + +[resource] +script = ExtResource("1_s7nhb") +name = "Test Item" +min_price = 10.0 +max_price = 100.0 +stack_size = 5 +icon = ExtResource("1_e5k7o") +image = ExtResource("2_l1qse") +type = 0 diff --git a/scripts/game.gd b/scripts/game.gd index 1aa6a08..319929b 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -2,33 +2,35 @@ extends Node class_name Game +enum ITEM_TYPE {VALUABLE, WEAPON, MODULE} + static var gameversion = "Ictar 1.1" static func profile_create(profile_name): var path = "user://"+profile_name+".cosmic" - if not FileAccess.file_exists(path): - var profile_meta = { - 'hash' : {}, - 'meta' : { - 'created_in_version' : gameversion, - 'creation_date' : Time.get_datetime_string_from_system(), - 'last_version' : gameversion, - 'last_updated' : Time.get_datetime_string_from_system(), - 'profile_name' : profile_name, - 'legit' : true - } - } - var profile_meta_keys = profile_meta['meta'].keys() - for i in range(len(profile_meta_keys)): - if profile_meta_keys[i][0] == "_": - profile_meta_keys.remove_at(i) - for i in range(len(profile_meta_keys)): - profile_meta['hash'][i] = str(profile_meta['meta'][profile_meta_keys[i]]).sha256_buffer().hex_encode() - var file = FileAccess.open(path, FileAccess.WRITE) - var json_string = JSON.stringify(profile_meta, "\t") - file.store_string(json_string) - else: + if FileAccess.file_exists(path): profile_save(profile_name, "menu") + return + var profile_meta = { + 'hash' : {}, + 'meta' : { + 'created_in_version' : gameversion, + 'creation_date' : Time.get_datetime_string_from_system(), + 'last_version' : gameversion, + 'last_updated' : Time.get_datetime_string_from_system(), + 'profile_name' : profile_name, + 'legit' : true + } + } + var profile_meta_keys = profile_meta['meta'].keys() + for i in range(len(profile_meta_keys)): + if profile_meta_keys[i][0] == "_": + profile_meta_keys.remove_at(i) + for i in range(len(profile_meta_keys)): + profile_meta['hash'][i] = str(profile_meta['meta'][profile_meta_keys[i]]).sha256_buffer().hex_encode() + var file = FileAccess.open(path, FileAccess.WRITE) + var json_string = JSON.stringify(profile_meta, "\t") + file.store_string(json_string) static func profile_save(profile_name, _gamestate): var path = "user://"+profile_name+".cosmic" diff --git a/scripts/item.gd b/scripts/item.gd new file mode 100644 index 0000000..9d17696 --- /dev/null +++ b/scripts/item.gd @@ -0,0 +1,11 @@ +extends Resource + +class_name Item + +@export var name : String +@export var min_price : float +@export var max_price : float +@export var stack_size : int +@export var icon : Texture +@export var image : Texture +@export var type : Game.ITEM_TYPE