Compare commits
No commits in common. "25994d0b98dbc2762f62fa71024a6b6cbdece587" and "b8794fdc8b0e6968d6969a3002d043ea81e52bf2" have entirely different histories.
25994d0b98
...
b8794fdc8b
28 changed files with 150 additions and 252 deletions
|
@ -1,14 +1,14 @@
|
|||
extends Node2D
|
||||
|
||||
var spaceState:World2D
|
||||
var spaceState
|
||||
var query : PhysicsPointQueryParameters2D
|
||||
var CastResult : Array
|
||||
|
||||
var hoveredObjects : Array
|
||||
var hoveredObject:CollisionObject2D
|
||||
var hoveredSticker:Area2D
|
||||
var grabbedSticker:Area2D
|
||||
var grabbedStickerOffset:Vector2
|
||||
var hoveredObject
|
||||
var hoveredSticker
|
||||
var grabbedSticker
|
||||
var grabbedStickerOffset
|
||||
|
||||
enum CURSOR_STATE {DEFAULT, CLICK, GRAB, GRABBED}
|
||||
var currentCursorState:CURSOR_STATE = CURSOR_STATE.DEFAULT
|
||||
|
@ -30,13 +30,21 @@ func _process(_delta):
|
|||
pointcast()
|
||||
cursor_look()
|
||||
if (grabbedSticker != null):
|
||||
grabbedSticker.get_parent().position = grabbedStickerOffset+get_global_mouse_position()
|
||||
grabbedSticker.position = grabbedStickerOffset+get_global_mouse_position()
|
||||
|
||||
|
||||
func isSticker(selectedObject:Node):
|
||||
var _isSticker:bool = false
|
||||
var _tags = Global.getTags(selectedObject)
|
||||
if (_tags.size() > 0):
|
||||
if (_tags.find("sticker") != -1):
|
||||
_isSticker = true
|
||||
|
||||
return _isSticker
|
||||
|
||||
func pointcast():
|
||||
resetCast()
|
||||
query.collide_with_areas = true
|
||||
query.collide_with_bodies = false
|
||||
query.position = get_global_mouse_position()
|
||||
CastResult = spaceState.direct_space_state.intersect_point(query)
|
||||
# CastResult is not reliable. Objects are added randomly in the array
|
||||
|
@ -46,7 +54,7 @@ func pointcast():
|
|||
#region Fill HoveredObjects
|
||||
for _object in CastResult:
|
||||
if(_object.collider.input_pickable == true):
|
||||
hoveredObjects.append(_object.collider) #Get the object that have the collision
|
||||
hoveredObjects.append(_object.collider.get_parent())
|
||||
#endregion
|
||||
if (hoveredObjects.size() > 0):
|
||||
if (hoveredObjects.size() >= 2):
|
||||
|
@ -59,7 +67,7 @@ func pointcast():
|
|||
if (hoveredObject and hoveredObject.has_method("on_hover")):
|
||||
hoveredObject.on_hover()
|
||||
print("Current hovered object :", hoveredObject)
|
||||
if (Global.isSticker(hoveredObject)):
|
||||
if (isSticker(hoveredObject)):
|
||||
hoveredSticker = hoveredObject
|
||||
print("Current hovered sticker :", hoveredSticker)
|
||||
else:
|
||||
|
@ -73,7 +81,7 @@ func resetCast(bFull = false):
|
|||
CastResult.clear()
|
||||
hoveredObjects.clear()
|
||||
if bFull:
|
||||
if (hoveredObject != null and hoveredObject.has_method("on_unhover") and (hoveredObject != grabbedSticker)):
|
||||
if (hoveredObject != null and hoveredObject.has_method("on_unhover")):
|
||||
hoveredObject.on_unhover()
|
||||
hoveredObject = null
|
||||
hoveredSticker = null
|
||||
|
@ -90,7 +98,7 @@ func sortByPosY(objects: Array, ascending_order: bool = true):
|
|||
|
||||
func comparePosY(a, b):
|
||||
#print("Compare ",a," at ",a.position.y, " and ",b," at ",b.position.y )
|
||||
return a.get_parent().position.y < b.get_parent().position.y #Sticker are always at 0, so we need parent position
|
||||
return a.position.y < b.position.y
|
||||
|
||||
|
||||
func _input(rawInputEvent:InputEvent):
|
||||
|
@ -107,8 +115,8 @@ func grab_start():
|
|||
grabbedSticker = hoveredSticker
|
||||
|
||||
print("Grabbed ", grabbedSticker)
|
||||
grabbedStickerOffset = grabbedSticker.get_parent().position - get_global_mouse_position()
|
||||
print("offset =", grabbedStickerOffset, " Stickpos:",grabbedSticker.get_parent().position,"-",get_global_mouse_position() )
|
||||
grabbedStickerOffset = grabbedSticker.position - get_global_mouse_position()
|
||||
print("offset =", grabbedStickerOffset, " Stickpos:",grabbedSticker.position,"-",get_global_mouse_position() )
|
||||
if (grabbedSticker.has_method("on_grab")):
|
||||
grabbedSticker.on_grab(grabbedStickerOffset)
|
||||
|
||||
|
@ -118,6 +126,7 @@ func grab_end():
|
|||
print("stopg grabbin at ",query.position )
|
||||
DebugDraw.points.append(query.position)
|
||||
DebugDraw.drawPoints()
|
||||
#TODO: Drop the sticker or maybe he will auto-drop ?
|
||||
|
||||
grabbedSticker = null
|
||||
|
||||
|
|
|
@ -51,7 +51,6 @@ animations = [{
|
|||
|
||||
[node name="Cursor" type="Node2D"]
|
||||
top_level = true
|
||||
z_index = 100
|
||||
script = ExtResource("1_b5uuj")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
|
@ -61,7 +60,7 @@ centered = false
|
|||
offset = Vector2(-80, -190)
|
||||
|
||||
[node name="GrabTimer" type="Timer" parent="."]
|
||||
wait_time = 0.3
|
||||
wait_time = 0.5
|
||||
one_shot = true
|
||||
|
||||
[connection signal="animation_changed" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_changed"]
|
||||
|
|
|
@ -3,7 +3,8 @@ extends Sprite2D
|
|||
@export_group("Travel settings")
|
||||
@export_file("*.tscn") var NextScene:String
|
||||
@export_enum("LEFT","RIGHT","UP","DOWN") var Travel :int
|
||||
@export var Spawn_Position:Vector2 = Vector2(0,0) #TODO: Extrapoler la position suivante en fonction de l'enum Travel
|
||||
@export var Spawn_Position:Vector2 = Vector2(0,0
|
||||
)
|
||||
var NextSceneLoaded
|
||||
|
||||
func _on_area_2d_area_entered(area):
|
||||
|
|
107
core/Sticker.gd
107
core/Sticker.gd
|
@ -1,106 +1,23 @@
|
|||
@tool
|
||||
extends Area2D
|
||||
extends Node
|
||||
|
||||
#TODO: I need to remake stickers by exporting node directly instead of customizing all the thing in export tab.
|
||||
|
||||
@export_group("Sticker Detection Shape")
|
||||
@export var Shape :Shape2D:
|
||||
set(new_shape):
|
||||
Shape = new_shape
|
||||
$StickerDetectionShape.shape = Shape
|
||||
$StickerDetectionShape.queue_redraw()
|
||||
@export var Position :Vector2:
|
||||
set(new_position):
|
||||
Position = new_position
|
||||
$StickerDetectionShape.position = Position
|
||||
$StickerDetectionShape.queue_redraw()
|
||||
@export var Rotation :float:
|
||||
set(new_rotation):
|
||||
Rotation = new_rotation
|
||||
$StickerDetectionShape.rotation = Rotation
|
||||
$StickerDetectionShape.queue_redraw()
|
||||
|
||||
@export_group("Sticker Sprites")
|
||||
@export var WorldSprite:Texture2D:
|
||||
set(new_texture):
|
||||
WorldSprite = new_texture
|
||||
$StickerSprite.texture = WorldSprite
|
||||
$StickerSprite.queue_redraw()
|
||||
@export var StickerSprite:Texture2D
|
||||
@export var Offset:Vector2:
|
||||
set(new_offset):
|
||||
Offset = new_offset
|
||||
$StickerSprite.offset = Offset
|
||||
$StickerSprite.queue_redraw()
|
||||
@export var FlipH:bool:
|
||||
set(flip):
|
||||
FlipH = flip
|
||||
$StickerSprite.flip_h = FlipH
|
||||
$StickerSprite.queue_redraw()
|
||||
@export var OutlineMat:ShaderMaterial = preload("res://shaders/shaderMaterial_Outline.tres")
|
||||
@export var PreviewSticker:bool:
|
||||
set(set_preview):
|
||||
PreviewSticker = set_preview
|
||||
if (PreviewSticker):
|
||||
$StickerSprite.texture = StickerSprite
|
||||
else:
|
||||
$StickerSprite.texture = WorldSprite
|
||||
$StickerSprite.queue_redraw()
|
||||
@export var Foiled:bool #TODO: Foil material and logic
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
if (position != Vector2(0,0)):
|
||||
position == Vector2(0,0)
|
||||
printerr(self," should not have transform, resetting")
|
||||
if (get_parent() == get_tree().root):
|
||||
printerr("stickers should always have a parent")
|
||||
breakpoint
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
func on_released():
|
||||
print(self," released")
|
||||
get_parent().top_level = false
|
||||
get_parent().reparent(MapManager.current_scene.get_child(0))
|
||||
for _childNode in get_parent().get_children():
|
||||
_childNode.set_deferred("disabled",false)
|
||||
if(_childNode != self):
|
||||
_childNode.visible = true
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
|
||||
|
||||
func on_click():
|
||||
print(self," clicked")
|
||||
|
||||
func on_hover():
|
||||
if (StickerSprite != null):
|
||||
$StickerSprite.texture = StickerSprite
|
||||
else:
|
||||
$StickerSprite.texture = WorldSprite
|
||||
$StickerSprite.material = OutlineMat
|
||||
queue_redraw()
|
||||
|
||||
func on_unhover():
|
||||
$StickerSprite.texture = WorldSprite
|
||||
$StickerSprite.material = null
|
||||
queue_redraw()
|
||||
|
||||
func on_grab(_offset:Vector2=Vector2(0.0,0.0)):
|
||||
get_parent().top_level = true
|
||||
get_parent().reparent(get_tree().root)
|
||||
for _childNode in get_parent().get_children():
|
||||
_childNode.set_deferred("disabled",true)
|
||||
if(_childNode != self):
|
||||
_childNode.visible = false
|
||||
func _on_area_2d_mouse_entered():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
#func _on_tree_entered():
|
||||
#if(ParentSprite != null):
|
||||
#var StickerTag:Array
|
||||
#StickerTag.append("sticker")
|
||||
#Global.add_tags(ParentSprite,StickerTag)
|
||||
func _on_area_2d_mouse_exited():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
#func _on_tree_exited():
|
||||
#if(ParentSprite != null):
|
||||
#var StickerTag:Array
|
||||
#StickerTag.append("sticker")
|
||||
#Global.remove_tags(ParentSprite,StickerTag)
|
||||
func _on_tree_entered():
|
||||
pass # Replace with function body.
|
||||
|
|
30
core/Sticker.tscn
Normal file
30
core/Sticker.tscn
Normal file
|
@ -0,0 +1,30 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://kbso0l2uk2n7"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_4kxk0"]
|
||||
script/source = "extends Area2D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
|
||||
|
||||
func _on_mouse_entered():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
func _on_mouse_exited():
|
||||
pass # Replace with function body.
|
||||
"
|
||||
|
||||
[node name="StickerDetection" type="Area2D"]
|
||||
monitoring = false
|
||||
script = SubResource("GDScript_4kxk0")
|
||||
|
||||
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]
|
|
@ -1,19 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://kbso0l2uk2n7"]
|
||||
|
||||
[ext_resource type="Script" path="res://core/Sticker.gd" id="1_7yoct"]
|
||||
|
||||
[node name="Sticker" type="Area2D"]
|
||||
collision_layer = 2
|
||||
collision_mask = 255
|
||||
monitoring = false
|
||||
script = ExtResource("1_7yoct")
|
||||
metadata/tags = PackedStringArray("sticker")
|
||||
|
||||
[node name="StickerDetectionShape" type="CollisionShape2D" parent="."]
|
||||
|
||||
[node name="StickerSprite" type="Sprite2D" parent="."]
|
||||
|
||||
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]
|
||||
[connection signal="tree_entered" from="." to="." method="_on_tree_entered"]
|
||||
[connection signal="tree_exited" from="." to="." method="_on_tree_exited"]
|
|
@ -4,7 +4,7 @@
|
|||
resource_name = "bridge"
|
||||
script/source = "extends Area2D
|
||||
|
||||
var wallObjects : Array
|
||||
var wallObject : Array
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
|
@ -18,18 +18,16 @@ func _process(_delta):
|
|||
|
||||
func _on_body_entered(object):
|
||||
print(\"Entered %d\",object)
|
||||
if (object.has_meta(\"Type\") and object.get_meta(\"Type\") == \"Player\" and wallObjects != null ):
|
||||
for _object in wallObjects:
|
||||
if (_object != null):
|
||||
if (object.has_meta(\"Type\") and object.get_meta(\"Type\") == \"Player\" ):
|
||||
for _object in wallObject:
|
||||
_object.process_mode = Node.PROCESS_MODE_DISABLED
|
||||
else:
|
||||
wallObjects.append(object)
|
||||
wallObject.append(object)
|
||||
|
||||
|
||||
func _on_body_exited(object):
|
||||
if (object.has_meta(\"Type\") and object.get_meta(\"Type\") == \"Player\" and wallObjects != null ):
|
||||
for _object in wallObjects:
|
||||
if (_object != null):
|
||||
if (object.has_meta(\"Type\") and object.get_meta(\"Type\") == \"Player\" ):
|
||||
for _object in wallObject:
|
||||
_object.process_mode = Node.PROCESS_MODE_INHERIT
|
||||
"
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ func _ready():
|
|||
func _process(_delta):
|
||||
pass
|
||||
|
||||
func get_tags(selectedObject:Node):
|
||||
var _tags: PackedStringArray
|
||||
func getTags(selectedObject:Node):
|
||||
var _tags: Array
|
||||
if (selectedObject.has_meta("tags")):
|
||||
_tags = selectedObject.get_meta("tags")
|
||||
return _tags
|
||||
|
@ -19,27 +19,3 @@ func get_tags(selectedObject:Node):
|
|||
printerr("no tags inside %",selectedObject)
|
||||
return _tags
|
||||
|
||||
func add_tags(selectedObject:Node,tags:PackedStringArray):
|
||||
var _all_tags:PackedStringArray
|
||||
if (selectedObject.has_meta("tags")):
|
||||
_all_tags = selectedObject.get_meta("tags")
|
||||
_all_tags.append_array(tags)
|
||||
selectedObject.set_meta("tags",_all_tags)
|
||||
|
||||
func remove_tags(selectedObject:Node,tags:PackedStringArray):
|
||||
if (selectedObject.has_meta("tags")):
|
||||
var _all_tags:PackedStringArray
|
||||
_all_tags = selectedObject.get_meta("tags")
|
||||
for _tag:String in tags:
|
||||
if(_all_tags.find(_tag) !=-1):
|
||||
_all_tags.remove_at(_all_tags.find(_tag))
|
||||
selectedObject.set_meta("tags",_all_tags)
|
||||
|
||||
func isSticker(selectedObject:Node):
|
||||
var _isSticker:bool = false
|
||||
var _tags = get_tags(selectedObject)
|
||||
if (_tags.size() > 0):
|
||||
if (_tags.find("sticker") != -1):
|
||||
_isSticker = true
|
||||
|
||||
return _isSticker
|
||||
|
|
|
@ -26,7 +26,6 @@ func changeSkin(NewSkin:CanvasTexture,_NewHat:CanvasTexture = null):
|
|||
Sprite.texture = CurrentHat
|
||||
|
||||
func get_input():
|
||||
#TODO: Need to freeze the player while he is traveling
|
||||
var directionX = Input.get_axis("move_left", "move_right")
|
||||
var directionY = Input.get_axis("move_up", "move_down")
|
||||
var mouseDirectionX = Input.get_axis("mouse_left", "mouse_right")
|
||||
|
|
|
@ -5,8 +5,7 @@ platform="Windows Desktop"
|
|||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="resources"
|
||||
export_files=PackedStringArray("res://animations/player/idle.res", "res://animations/player/Walk.res", "res://core/Background.tscn", "res://core/bridgeNode.tscn", "res://core/Cursor.gd", "res://core/Cursor.tscn", "res://core/debugDraw.tscn", "res://core/Door.gd", "res://core/Door.tscn", "res://core/global.gd", "res://core/player.gd", "res://core/player.tscn", "res://core/sceneInstance.gd", "res://core/Sticker.gd", "res://core/Sticker.tscn", "res://maps/gym.tscn", "res://maps/mainMenu.tscn", "res://maps/map1.tres", "res://maps/map1.tscn", "res://maps/map2.tres", "res://maps/map2.tscn", "res://maps/mapManager.tscn", "res://prefab/free_sticker.tscn", "res://prefab/prefab_woddenbridge.tscn", "res://prefab/solid_sticker.tscn", "res://shaders/shaderMaterial_Outline.tres", "res://shaders/shaders_glitch.gdshader", "res://shaders/shader_color_replacer.gdshader", "res://shaders/shader_outline2.gdshader", "res://shaders/shader_outline3.gdshader", "res://shaders/shader_outline.gdshader", "res://textures/atlas/Atlas_Buildings_01.png", "res://textures/atlas/Atlas_Builds_01.png", "res://textures/atlas/Atlas_Builds_02.png", "res://textures/atlas/Atlas_New_items.png", "res://textures/atlas/Bushes_All_01_SPRT.png", "res://textures/atlas/DioramaEntrance_All_01_SPRT.png", "res://textures/atlas/Floors_01_SPRT.png", "res://textures/atlas/Floors_02_SPRT.png", "res://textures/atlas/Floors_03_SPRT.png", "res://textures/atlas/Floors_04_SPRT.png", "res://textures/atlas/Floors_05_SPRT.png", "res://textures/atlas/Floors_06_SPRT.png", "res://textures/atlas/Floors_07_SPRT.png", "res://textures/atlas/Floors_08_SPRT.png", "res://textures/atlas/Floors_09_SPRT.png", "res://textures/atlas/Floors_10_SPRT.png", "res://textures/atlas/Floors_11_SPRT.png", "res://textures/atlas/Floors_12_SPRT.png", "res://textures/atlas/Floors_13_SPRT.png", "res://textures/atlas/Floors_14_SPRT.png", "res://textures/atlas/Floors_15_SPRT.png", "res://textures/atlas/Floors_MountBack_SPRT.png", "res://textures/atlas/GroundExtensions_All_01_SPRT.png", "res://textures/atlas/LogsAndWood_All_01_SPRT.png", "res://textures/atlas/Plants_All_01_SPRT.png", "res://textures/atlas/Props_All_01_SPRT.png", "res://textures/atlas/Rocks_All_01_SPRT.png", "res://textures/atlas/SPRT_Hand.png", "res://textures/pattern/Pattern_Desert.png", "res://textures/pattern/Pattern_Forest.png", "res://textures/pattern/Pattern_Mountains.png", "res://textures/pattern/Pattern_swamp.png", "res://textures/player/archer.png", "res://textures/player/currentCloth.tres", "res://textures/player/currentHat.tres", "res://textures/player/hat-layout.jpg", "res://textures/player/hermandad-beige.png", "res://textures/player/hermandad-black.png", "res://textures/player/hermandad-brown.png", "res://textures/player/player-layout.jpg", "res://textures/player/playerSkin_ref.png", "res://textures/player/witch.png", "res://textures/2d_lights_and_shadows_neutral_point_light.webp", "res://textures/cursor_click.tres", "res://textures/cursor_default.tres", "res://textures/cursor_grab.tres", "res://textures/cursor_grab_01.tres", "res://textures/cursor_grab_02.tres", "res://textures/cursor_grab_03.tres", "res://icon.svg")
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="builds/stickerClone.exe"
|
||||
|
@ -69,8 +68,7 @@ platform="Linux/X11"
|
|||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="resources"
|
||||
export_files=PackedStringArray("res://animations/player/idle.res", "res://animations/player/Walk.res", "res://core/Background.tscn", "res://core/bridgeNode.tscn", "res://core/Cursor.gd", "res://core/Cursor.tscn", "res://core/debugDraw.tscn", "res://core/Door.gd", "res://core/Door.tscn", "res://core/global.gd", "res://core/player.gd", "res://core/player.tscn", "res://core/sceneInstance.gd", "res://core/Sticker.gd", "res://core/Sticker.tscn", "res://maps/gym.tscn", "res://maps/mainMenu.tscn", "res://maps/map1.tres", "res://maps/map1.tscn", "res://maps/map2.tres", "res://maps/map2.tscn", "res://maps/mapManager.tscn", "res://prefab/free_sticker.tscn", "res://prefab/prefab_woddenbridge.tscn", "res://prefab/solid_sticker.tscn", "res://shaders/shaderMaterial_Outline.tres", "res://shaders/shaders_glitch.gdshader", "res://shaders/shader_color_replacer.gdshader", "res://shaders/shader_outline2.gdshader", "res://shaders/shader_outline3.gdshader", "res://shaders/shader_outline.gdshader", "res://textures/atlas/Atlas_Buildings_01.png", "res://textures/atlas/Atlas_Builds_01.png", "res://textures/atlas/Atlas_Builds_02.png", "res://textures/atlas/Atlas_New_items.png", "res://textures/atlas/Bushes_All_01_SPRT.png", "res://textures/atlas/DioramaEntrance_All_01_SPRT.png", "res://textures/atlas/Floors_01_SPRT.png", "res://textures/atlas/Floors_02_SPRT.png", "res://textures/atlas/Floors_03_SPRT.png", "res://textures/atlas/Floors_04_SPRT.png", "res://textures/atlas/Floors_05_SPRT.png", "res://textures/atlas/Floors_06_SPRT.png", "res://textures/atlas/Floors_07_SPRT.png", "res://textures/atlas/Floors_08_SPRT.png", "res://textures/atlas/Floors_09_SPRT.png", "res://textures/atlas/Floors_10_SPRT.png", "res://textures/atlas/Floors_11_SPRT.png", "res://textures/atlas/Floors_12_SPRT.png", "res://textures/atlas/Floors_13_SPRT.png", "res://textures/atlas/Floors_14_SPRT.png", "res://textures/atlas/Floors_15_SPRT.png", "res://textures/atlas/Floors_MountBack_SPRT.png", "res://textures/atlas/GroundExtensions_All_01_SPRT.png", "res://textures/atlas/LogsAndWood_All_01_SPRT.png", "res://textures/atlas/Plants_All_01_SPRT.png", "res://textures/atlas/Props_All_01_SPRT.png", "res://textures/atlas/Rocks_All_01_SPRT.png", "res://textures/atlas/SPRT_Hand.png", "res://textures/pattern/Pattern_Desert.png", "res://textures/pattern/Pattern_Forest.png", "res://textures/pattern/Pattern_Mountains.png", "res://textures/pattern/Pattern_swamp.png", "res://textures/player/archer.png", "res://textures/player/currentCloth.tres", "res://textures/player/currentHat.tres", "res://textures/player/hat-layout.jpg", "res://textures/player/hermandad-beige.png", "res://textures/player/hermandad-black.png", "res://textures/player/hermandad-brown.png", "res://textures/player/player-layout.jpg", "res://textures/player/playerSkin_ref.png", "res://textures/player/witch.png", "res://textures/2d_lights_and_shadows_neutral_point_light.webp", "res://textures/cursor_click.tres", "res://textures/cursor_default.tres", "res://textures/cursor_grab.tres", "res://textures/cursor_grab_01.tres", "res://textures/cursor_grab_02.tres", "res://textures/cursor_grab_03.tres", "res://icon.svg")
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="builds/StickerClone.x86_64"
|
||||
|
|
|
@ -3,15 +3,15 @@
|
|||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://xx3dwpwk467v"
|
||||
path="res://.godot/imported/FireStickers.png-b1f6454cf2d8ec7c882729598eb9bead.ctex"
|
||||
path="res://.godot/imported/FireStickers.png-259d039f52ae610545db7b1f9c72e648.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/sprites/FireStickers.png"
|
||||
dest_files=["res://.godot/imported/FireStickers.png-b1f6454cf2d8ec7c882729598eb9bead.ctex"]
|
||||
source_file="res://extracted/Texture2D/FireStickers.png"
|
||||
dest_files=["res://.godot/imported/FireStickers.png-259d039f52ae610545db7b1f9c72e648.ctex"]
|
||||
|
||||
[params]
|
||||
|
|
@ -3,15 +3,15 @@
|
|||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ciyh3rnoo4uk"
|
||||
path="res://.godot/imported/SimpleParticles_All_01_SPRT.png-7694919abde183df9e6646702e07bee1.ctex"
|
||||
path="res://.godot/imported/SimpleParticles_All_01_SPRT.png-6334fcb848493621387efb6556c81e19.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/atlas/SimpleParticles_All_01_SPRT.png"
|
||||
dest_files=["res://.godot/imported/SimpleParticles_All_01_SPRT.png-7694919abde183df9e6646702e07bee1.ctex"]
|
||||
source_file="res://extracted/Texture2D/SimpleParticles_All_01_SPRT.png"
|
||||
dest_files=["res://.godot/imported/SimpleParticles_All_01_SPRT.png-6334fcb848493621387efb6556c81e19.ctex"]
|
||||
|
||||
[params]
|
||||
|
|
@ -3,15 +3,15 @@
|
|||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dggavne4ueche"
|
||||
path="res://.godot/imported/Tree_Field_01_SPRT.png-2a31f32b148af262ecdd14c661e63993.ctex"
|
||||
path="res://.godot/imported/Tree_Field_01_SPRT.png-cf2a7d71334800fb9c2ea7c429535d5c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://textures/sprites/Tree_Field_01_SPRT.png"
|
||||
dest_files=["res://.godot/imported/Tree_Field_01_SPRT.png-2a31f32b148af262ecdd14c661e63993.ctex"]
|
||||
source_file="res://extracted/Texture2D/Tree_Field_01_SPRT.png"
|
||||
dest_files=["res://.godot/imported/Tree_Field_01_SPRT.png-cf2a7d71334800fb9c2ea7c429535d5c.ctex"]
|
||||
|
||||
[params]
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://domcpxdf6lqpb" path="res://prefab/free_sticker.tscn" id="4_2tdya"]
|
||||
[ext_resource type="Texture2D" uid="uid://cxharyv0ajr37" path="res://textures/atlas/DioramaEntrance_All_01_SPRT.png" id="4_lgnnp"]
|
||||
[ext_resource type="PackedScene" uid="uid://do65rgg0p2plt" path="res://core/Door.tscn" id="4_yvr3q"]
|
||||
[ext_resource type="Texture2D" uid="uid://dggavne4ueche" path="res://textures/sprites/Tree_Field_01_SPRT.png" id="5_lwnej"]
|
||||
[ext_resource type="Texture2D" uid="uid://dggavne4ueche" path="res://extracted/Texture2D/Tree_Field_01_SPRT.png" id="5_lwnej"]
|
||||
[ext_resource type="PackedScene" uid="uid://6ww1g2enfdx3" path="res://prefab/solid_sticker.tscn" id="6_k22qa"]
|
||||
[ext_resource type="Texture2D" uid="uid://chuv25pm2vqen" path="res://textures/atlas/Rocks_All_01_SPRT.png" id="7_pykf8"]
|
||||
[ext_resource type="Texture2D" uid="uid://b366mcexlko72" path="res://textures/atlas/LogsAndWood_All_01_SPRT.png" id="8_ugxkt"]
|
||||
|
|
|
@ -1,17 +1,68 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://domcpxdf6lqpb"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://domcpxdf6lqpb"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://kbso0l2uk2n7" path="res://core/StickerArea.tscn" id="2_84v7t"]
|
||||
[ext_resource type="Texture2D" uid="uid://cun14l52f477p" path="res://textures/atlas/Bushes_All_01_SPRT.png" id="1_1wk1p"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2wdar"]
|
||||
atlas = ExtResource("1_1wk1p")
|
||||
region = Rect2(384, 64, 288, 224)
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_uqtu8"]
|
||||
script/source = "@tool
|
||||
extends Sprite2D
|
||||
|
||||
var OutlineMat:ShaderMaterial = preload(\"res://shaders/shaderMaterial_Outline.tres\")
|
||||
|
||||
@export_group(\"Sticker Detection Shape\")
|
||||
@export var Shape :Shape2D:
|
||||
set(new_shape):
|
||||
Shape = new_shape
|
||||
$Area2D/CollisionShape2D.shape = Shape
|
||||
$Area2D/CollisionShape2D.queue_redraw()
|
||||
@export var Position :Vector2:
|
||||
set(new_position):
|
||||
Position = new_position
|
||||
$Area2D/CollisionShape2D.position = Position
|
||||
$Area2D/CollisionShape2D.queue_redraw()
|
||||
@export var Rotation :float:
|
||||
set(new_rotation):
|
||||
Rotation = new_rotation
|
||||
$Area2D/CollisionShape2D.rotation = Rotation
|
||||
$Area2D/CollisionShape2D.queue_redraw()
|
||||
|
||||
|
||||
func on_released():
|
||||
print(self,\" released\")
|
||||
|
||||
func on_click():
|
||||
print(self,\" clicked\")
|
||||
|
||||
func on_hover():
|
||||
material = OutlineMat
|
||||
queue_redraw()
|
||||
|
||||
func on_unhover():
|
||||
material = null
|
||||
queue_redraw()
|
||||
|
||||
func on_grab(_offset:Vector2=Vector2(0.0,0.0)):
|
||||
pass
|
||||
"
|
||||
|
||||
[node name="FreeSticker1" type="Sprite2D"]
|
||||
scale = Vector2(3.80334, 3.95089)
|
||||
texture = SubResource("AtlasTexture_2wdar")
|
||||
centered = false
|
||||
offset = Vector2(-161.055, -179.785)
|
||||
script = SubResource("GDScript_uqtu8")
|
||||
metadata/tags = ["sticker"]
|
||||
|
||||
[node name="StickerDetection" parent="." instance=ExtResource("2_84v7t")]
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
monitoring = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(-4.46976, -71.6294)
|
||||
rotation = 1.5708
|
||||
|
||||
[connection signal="property_list_changed" from="." to="." method="_on_property_list_changed"]
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://bddcriwo55x8k"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://bddcriwo55x8k"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b366mcexlko72" path="res://textures/atlas/LogsAndWood_All_01_SPRT.png" id="1_lvitw"]
|
||||
[ext_resource type="PackedScene" uid="uid://clqvgh6qmglue" path="res://core/bridgeNode.tscn" id="2_te8ug"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nkyhf"]
|
||||
atlas = ExtResource("1_lvitw")
|
||||
region = Rect2(72, 1392, 216, 272)
|
||||
|
||||
[node name="WoodenBridge" type="Sprite2D"]
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://dkeu83h43pw1o"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cxharyv0ajr37" path="res://textures/atlas/DioramaEntrance_All_01_SPRT.png" id="1_mxci2"]
|
||||
|
||||
[resource]
|
||||
atlas = ExtResource("1_mxci2")
|
||||
region = Rect2(7, 98, 220, 114)
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://bm2nsrfle5nsd"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cxharyv0ajr37" path="res://textures/atlas/DioramaEntrance_All_01_SPRT.png" id="1_8pcct"]
|
||||
|
||||
[resource]
|
||||
atlas = ExtResource("1_8pcct")
|
||||
region = Rect2(252, 16, 108, 256)
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://b2nhenx3l2uww"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cxharyv0ajr37" path="res://textures/atlas/DioramaEntrance_All_01_SPRT.png" id="1_bsuil"]
|
||||
|
||||
[resource]
|
||||
atlas = ExtResource("1_bsuil")
|
||||
region = Rect2(0, 16, 228, 80)
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://ddajgcwn5ip4c"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cun14l52f477p" path="res://textures/atlas/Bushes_All_01_SPRT.png" id="1_o3c46"]
|
||||
|
||||
[resource]
|
||||
atlas = ExtResource("1_o3c46")
|
||||
region = Rect2(384, 64, 320, 224)
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://1qfjbuyf5aq5"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b366mcexlko72" path="res://textures/atlas/LogsAndWood_All_01_SPRT.png" id="1_0edjn"]
|
||||
|
||||
[resource]
|
||||
atlas = ExtResource("1_0edjn")
|
||||
region = Rect2(544, 32, 160, 192)
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://bfnbnuclg8ab0"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b366mcexlko72" path="res://textures/atlas/LogsAndWood_All_01_SPRT.png" id="1_686v7"]
|
||||
|
||||
[resource]
|
||||
atlas = ExtResource("1_686v7")
|
||||
region = Rect2(72, 1392, 216, 272)
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://51ntd0qmjw5j"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b366mcexlko72" path="res://textures/atlas/LogsAndWood_All_01_SPRT.png" id="1_tl1y6"]
|
||||
|
||||
[resource]
|
||||
atlas = ExtResource("1_tl1y6")
|
||||
region = Rect2(1356, 1216, 192, 80)
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://c6acjgu8jnrkl"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://chuv25pm2vqen" path="res://textures/atlas/Rocks_All_01_SPRT.png" id="1_epk7g"]
|
||||
|
||||
[resource]
|
||||
atlas = ExtResource("1_epk7g")
|
||||
region = Rect2(1440, 1376, 256, 256)
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://cup0xru4j84wj"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://chuv25pm2vqen" path="res://textures/atlas/Rocks_All_01_SPRT.png" id="1_jaqtq"]
|
||||
|
||||
[resource]
|
||||
atlas = ExtResource("1_jaqtq")
|
||||
region = Rect2(288, 256, 192, 160)
|
Loading…
Reference in a new issue