DragonAero64

Working Escape Block Code!

Jul 20th, 2024
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GDScript 1.58 KB | Gaming | 0 0
  1. extends StaticBody2D
  2.  
  3. var shape
  4. var awake
  5. var done = false
  6. var temp_texture: Texture2D
  7.  
  8. @export var reverse = false # Reverse = sleep before panic, wake afterwards
  9.  
  10. @onready var collision_shape = $CollisionShape2D
  11.  
  12. @onready var texture_rect = $BlockTexture
  13. @onready var texture = $BlockTexture.texture
  14.  
  15. const ESCAPE_BLOCK_AWAKE = preload("res://texture/escape_block_awake.tres")
  16.  
  17. const ESCAPE_BLOCK_SLEEP = preload("res://texture/escape_block_sleep.tres")
  18.  
  19. func wake():
  20.     texture_rect.texture = ESCAPE_BLOCK_AWAKE
  21.     modulate.a = 1
  22.     set_collision_layer_value(1, true)
  23.     set_collision_layer_value(2, true)
  24.     set_collision_layer_value(3, true)
  25.     set_collision_layer_value(4, true)
  26.     #print("hi hi")
  27.    
  28. func sleep():
  29.     texture_rect.texture = ESCAPE_BLOCK_SLEEP
  30.     modulate.a = 0.5
  31.     set_collision_layer_value(1, false)
  32.     set_collision_layer_value(2, false)
  33.     set_collision_layer_value(3, false)
  34.     set_collision_layer_value(4, false)
  35.     #print("bye bye")
  36.    
  37. func flip():
  38.     if GameManager.panic:
  39.         if reverse:
  40.             wake()
  41.         else:
  42.             sleep()
  43.     else:
  44.         if reverse:
  45.             sleep()
  46.         else:
  47.             wake()
  48.  
  49. # Called when the node enters the scene tree for the first time.
  50. func _ready():
  51.     texture_rect.visible = true
  52.     texture_rect.size.x = collision_shape.shape.size.x
  53.     texture_rect.size.y = collision_shape.shape.size.y
  54.  
  55. func _process(delta):
  56.     texture_rect.visible = true
  57.     texture_rect.size.x = collision_shape.shape.size.x
  58.     texture_rect.size.y = collision_shape.shape.size.y
  59.  
  60.     if GameManager.panic:
  61.         if reverse:
  62.             wake()
  63.         else:
  64.             sleep()
  65.     else:
  66.         if reverse:
  67.             sleep()
  68.         else:
  69.             wake()
Advertisement
Add Comment
Please, Sign In to add comment