Initial commit
This commit is contained in:
commit
1514fe991b
675 changed files with 6030 additions and 0 deletions
72
scripts/loop.gd
Normal file
72
scripts/loop.gd
Normal file
|
@ -0,0 +1,72 @@
|
|||
extends Area2D
|
||||
|
||||
class_name Loop;
|
||||
|
||||
var entered_count := 0;
|
||||
var target_character : Character;
|
||||
var shadow_resource := load("res://objects/shadow.tscn");
|
||||
var shadow_created : Shadow;
|
||||
|
||||
@onready
|
||||
var count_name = {$SpriteOff : 0, $SpriteRecording : 1, $SpriteOn : 2};
|
||||
|
||||
var move_list : Array[Globals.Direction];
|
||||
var is_recording := false;
|
||||
var is_playing := false;
|
||||
var is_off := true;
|
||||
|
||||
var shadow_exist := false;
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
func _on_area_entered(area: Area2D) -> void:
|
||||
if area == shadow_created:
|
||||
return;
|
||||
entered_count += 1;
|
||||
entered_count %= 3;
|
||||
is_recording = entered_count == 1;
|
||||
is_playing = entered_count == 2;
|
||||
is_off = entered_count == 0;
|
||||
|
||||
if is_playing and !shadow_created:
|
||||
shadow_created = shadow_resource.instantiate();
|
||||
shadow_created.loop_origin = self;
|
||||
shadow_created.position = self.position;
|
||||
get_tree().current_scene.add_child(shadow_created);
|
||||
|
||||
if is_off:
|
||||
shadow_created.queue_free();
|
||||
shadow_created = null;
|
||||
move_list.clear()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
connect_target_character(area)
|
||||
handle_visibility()
|
||||
|
||||
|
||||
|
||||
func connect_target_character(area: Area2D):
|
||||
if area is Character and !target_character:
|
||||
target_character = area
|
||||
target_character.has_moved.connect(_on_target_moved);
|
||||
print(target_character.has_moved.get_connections());
|
||||
|
||||
|
||||
func handle_visibility():
|
||||
for name in count_name:
|
||||
if count_name[name] == entered_count:
|
||||
name.visible = true;
|
||||
else:
|
||||
name.visible = false;
|
||||
|
||||
|
||||
func _on_target_moved(direction: Globals.Direction):
|
||||
if is_recording:
|
||||
move_list.push_back(direction)
|
||||
print(move_list)
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue