Initial commit
This commit is contained in:
commit
1514fe991b
675 changed files with 6030 additions and 0 deletions
59
scripts/character.gd
Normal file
59
scripts/character.gd
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
extends Area2D
|
||||
|
||||
class_name Character
|
||||
|
||||
signal has_moved(direction : Globals.Direction)
|
||||
|
||||
@onready var RayCastRight : RayCast2D = $RayCastRight;
|
||||
@onready var RayCastDown : RayCast2D = $RayCastDown;
|
||||
@onready var RayCastUp : RayCast2D = $RayCastUp;
|
||||
@onready var RayCastLeft : RayCast2D = $RayCastLeft;
|
||||
|
||||
|
||||
var TileSize : int = 16;
|
||||
|
||||
|
||||
|
||||
func move(direction: Globals.Direction) -> bool:
|
||||
|
||||
var should_emit := false;
|
||||
|
||||
match direction:
|
||||
Globals.Direction.RIGHT:
|
||||
var collider : Object = RayCastRight.get_collider()
|
||||
if !collider or (collider.is_in_group("box") and collider.go_right()):
|
||||
position.x += TileSize
|
||||
should_emit = true;
|
||||
|
||||
Globals.Direction.LEFT:
|
||||
var collider : Object = RayCastLeft.get_collider()
|
||||
if !collider or (collider.is_in_group("box") and collider.go_left()):
|
||||
position.x -= TileSize
|
||||
should_emit = true;
|
||||
|
||||
Globals.Direction.UP:
|
||||
var collider : Object = RayCastUp.get_collider()
|
||||
if !collider or (collider.is_in_group("box") and collider.go_up()):
|
||||
position.y -= TileSize
|
||||
should_emit = true;
|
||||
|
||||
Globals.Direction.DOWN:
|
||||
var collider : Object = RayCastDown.get_collider()
|
||||
if !collider or (collider.is_in_group("box") and collider.go_down()):
|
||||
position.y += TileSize
|
||||
should_emit = true;
|
||||
|
||||
Globals.Direction.NONE:
|
||||
pass
|
||||
|
||||
_:
|
||||
print("WTTFF");
|
||||
print(direction);
|
||||
|
||||
|
||||
|
||||
if should_emit:
|
||||
emit_signal("has_moved", direction);
|
||||
|
||||
return should_emit;
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue