This commit is contained in:
karl 2020-01-28 16:05:56 +01:00
commit 04784770df
10 changed files with 103 additions and 24 deletions

View File

@ -1,7 +1,7 @@
extends NPC extends NPC
export(int) var _player_follow_pill_level = 3 export(int) var _player_follow_pill_level = Pills.LEVELS.MEDIUM
onready var visibility_cone_mesh = get_node("Visibility/VisibilityCone") onready var visibility_cone_mesh = get_node("Visibility/VisibilityCone")

View File

@ -195,7 +195,7 @@ func check_interact():
if Input.is_action_just_pressed("interact"): if Input.is_action_just_pressed("interact"):
collider.do_interact(self) collider.do_interact(self)
if collider.is_in_group("Collectibles"): if collider.is_in_group("Collectibles"):
_inventory.add_item(collider.name) _inventory.add_item(collider)
_prev_look = null # remove after taken _prev_look = null # remove after taken
_labelInteract.hide() _labelInteract.hide()
else: else:

View File

@ -7,8 +7,14 @@ var _labelDayTime: Label
var _dayTime: ProgressBar var _dayTime: ProgressBar
var _dayTimeVisual: TextureRect var _dayTimeVisual: TextureRect
onready var _keyTexture = load("res://Resources/Models/key/key.png") onready var _keyTexture = preload("res://Resources/Models/key/key.png")
onready var _cardTexture = load("res://Resources/Models/keycard/keycard.png") var _cardTexture = {
1: preload("res://Resources/Models/keycard/lvl1_keycard.png"),
2: preload("res://Resources/Models/keycard/lvl2_keycard.png")
}
onready var _pillFill = preload("res://Resources/Textures/pillLevel_fill.png")
onready var _pillDanger = preload("res://Resources/Textures/pillLevel_danger.png")
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
@ -24,26 +30,41 @@ func _ready():
_dayTime.max_value = Daytime.get_max() _dayTime.max_value = Daytime.get_max()
func add_item (name): func add_item (object):
Logger.info("Adding item \"" + name + "\" to inventory") Logger.info("Adding item \"" + object.name + "\" with class \"" + String(object.get_class()) + "\" to inventory")
var text var texture
if name == "Key": if object is Key:
text = _keyTexture Logger.info("key")
elif name == "Keycard": texture = _keyTexture
text = _cardTexture elif object is Keycard:
Logger.info("keycard")
var lvl = (object as Keycard).card_lvl
if _cardTexture.has(lvl) == false:
Logger.info("no keycard model for lvl: " + String(lvl))
return
texture = _cardTexture[lvl]
else: else:
Logger.info("no texture found for: " + object.name)
return return
var rect = TextureRect.new() var rect = TextureRect.new()
rect.texture = text rect.texture = texture
_container.add_child(rect) _container.add_child(rect)
func _process(_delta): func _process(_delta):
_labelPillLevel.text = "curLevel: " + String(Pills.get_level()) # pill level
_pillLevel.value = Pills.get_level() var val = Pills.get_level()
var val = int(Daytime.get_time()) _labelPillLevel.text = "curLevel: " + String(val)
_pillLevel.value = val
if val < Pills.LEVELS.MEDIUM:
_pillLevel.set_progress_texture(_pillDanger)
elif _pillLevel.get_progress_texture() != _pillFill:
_pillLevel.set_progress_texture(_pillFill)
# day time
val = int(Daytime.get_time())
#_labelDayTime.text = "dayTime: " + String(val) + " - %02d:%02d" % [val/60%24, val%60] #_labelDayTime.text = "dayTime: " + String(val) + " - %02d:%02d" % [val/60%24, val%60]
_dayTime.value = val _dayTime.value = val
_dayTimeVisual.rect_rotation = ((val/_dayTime.max_value) * 180) - 90 _dayTimeVisual.rect_rotation = ((val/_dayTime.max_value) * 180) - 90

View File

@ -52,9 +52,9 @@ anchor_left = 1.0
anchor_top = 0.5 anchor_top = 0.5
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 0.5 anchor_bottom = 0.5
margin_left = -151.0 margin_left = -146.0
margin_top = -258.5 margin_top = -258.5
margin_right = -12.0 margin_right = -7.0
margin_bottom = 258.5 margin_bottom = 258.5
[node name="PillLevel" type="Label" parent="."] [node name="PillLevel" type="Label" parent="."]

View File

@ -1,4 +1,5 @@
extends StaticBody extends StaticBody
class_name Key
export(int) var key_id export(int) var key_id
@ -6,6 +7,11 @@ onready var outline = get_node("KeyMesh/Outline") as MeshInstance
func do_interact(var player): func do_interact(var player):
# TODO: move to global inventory
player.key_chain.append(key_id) player.key_chain.append(key_id)
queue_free() queue_free()
func is_class(type): return type == "Key" or .is_class(type)
func get_class(): return "Key"

View File

@ -1,4 +1,5 @@
extends StaticBody extends StaticBody
class_name Keycard
export(int) var card_lvl export(int) var card_lvl
@ -6,7 +7,12 @@ onready var outline = get_node("KeycardMesh/Outline") as MeshInstance
func do_interact(var player): func do_interact(var player):
# TODO: move to global inventory
if card_lvl > player.keycard_lvl: if card_lvl > player.keycard_lvl:
player.keycard_lvl = card_lvl player.keycard_lvl = card_lvl
queue_free() queue_free()
func is_class(type): return type == "Keycard" or .is_class(type)
func get_class(): return "Keycard"

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/pillLevel_danger.png-3f16593e6f8ad54ee32d61800bfb0c9f.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Resources/Textures/pillLevel_danger.png"
dest_files=[ "res://.import/pillLevel_danger.png-3f16593e6f8ad54ee32d61800bfb0c9f.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 B

After

Width:  |  Height:  |  Size: 360 B

View File

@ -29,6 +29,16 @@ _global_script_classes=[ {
"language": "GDScript", "language": "GDScript",
"path": "res://Util/gs-logger-3.1-R3/gs_logger/layouts/html_layout.gd" "path": "res://Util/gs-logger-3.1-R3/gs_logger/layouts/html_layout.gd"
}, { }, {
"base": "StaticBody",
"class": "Key",
"language": "GDScript",
"path": "res://Level/Interactables/Key/Key.gd"
}, {
"base": "StaticBody",
"class": "Keycard",
"language": "GDScript",
"path": "res://Level/Interactables/Keycard/Keycard.gd"
}, {
"base": "Reference", "base": "Reference",
"class": "Layout", "class": "Layout",
"language": "GDScript", "language": "GDScript",
@ -54,6 +64,8 @@ _global_script_class_icons={
"ConsoleAppender": "", "ConsoleAppender": "",
"FileAppender": "", "FileAppender": "",
"HtmlLayout": "", "HtmlLayout": "",
"Key": "",
"Keycard": "",
"Layout": "", "Layout": "",
"Message": "", "Message": "",
"NPC": "", "NPC": "",
@ -63,7 +75,7 @@ _global_script_class_icons={
[application] [application]
config/name="retrace" config/name="retrace"
run/main_scene="res://Level/World.tscn" run/main_scene="res://Level/OutsideWorld.tscn"
config/icon="res://icon.png" config/icon="res://icon.png"
[autoload] [autoload]