-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBear.gd
52 lines (40 loc) · 1.28 KB
/
Bear.gd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
extends Area2D
# class member variables go here, for example:
# var a = 2
# var b = "textvar"
signal on_turn(turned)
export var corrupt_rate = 0.1
export var recharge_rate = 1.0
export (NodePath) var status_node
export (Texture) var good_texture
export (Texture) var bad_texture
var _status = 1.0
var _overlap = false
var _turned = false
func _ready():
# Called when the node is added to the scene for the first time.
# Initialization here
pass
func _process(delta):
# Called every frame. Delta is time since last frame.
# Update game logic here.
if _overlap && Input.is_action_pressed('hug'):
_status = min(_status + recharge_rate * delta, 1.0)
if _turned:
get_parent().texture = good_texture
emit_signal("on_turn", false)
_turned = false
else:
_status = max(_status - corrupt_rate * delta, 0.0)
if !_turned && _status == 0:
get_parent().texture = bad_texture
emit_signal("on_turn", true)
_turned = true
get_node(status_node).scale = Vector2(1, _status)
pass
func _on_Area2D_body_entered(body):
_overlap = true
pass # replace with function body
func _on_Area2D_body_exited(body):
_overlap = false
pass # replace with function body