264 lines
7.7 KiB
GDScript
264 lines
7.7 KiB
GDScript
extends Node2D
|
|
|
|
var timerNeed = false
|
|
|
|
const camPos = [
|
|
Vector2(280, 0),
|
|
Vector2( - 900, 0),
|
|
Vector2( - 1280, - 400),
|
|
Vector2( - 2100, 0),
|
|
Vector2(280, - 790),
|
|
Vector2( - 775, - 570),
|
|
Vector2( - 2100, - 790),
|
|
Vector2(0, - 1100),
|
|
Vector2(0, 0)
|
|
]
|
|
const camZoom = [
|
|
Vector2(2, 2),
|
|
Vector2(2, 2),
|
|
Vector2(2.5, 2.5),
|
|
Vector2(2, 2),
|
|
Vector2(2, 2),
|
|
Vector2(1.8, 1.8),
|
|
Vector2(2, 2),
|
|
Vector2(1.5, 1.5),
|
|
Vector2(1, 1)
|
|
]
|
|
|
|
const camSpecialTime = 8.0
|
|
const camSpecialPosition = Vector2( - 1100, - 1100)
|
|
const camTime = [
|
|
2.0,
|
|
2.5,
|
|
1.0,
|
|
2.5,
|
|
2.0,
|
|
2.0,
|
|
2.5,
|
|
2.0,
|
|
2.0
|
|
]
|
|
|
|
const fadeTime = 1.0
|
|
|
|
|
|
func _ready():
|
|
var viewPosition = int(Dialogic.get_variable("cameraPosition"))
|
|
self.position = camPos[viewPosition]
|
|
self.scale = camZoom[viewPosition]
|
|
match viewPosition:
|
|
0:
|
|
pass
|
|
1:
|
|
$Sprite1.visible = true
|
|
self.position = camPos[0]
|
|
self.scale = camZoom[0]
|
|
2:
|
|
$Sprite1.visible = true
|
|
$Sprite2.visible = true
|
|
self.position = camPos[1]
|
|
self.scale = camZoom[1]
|
|
3:
|
|
$Sprite1.visible = true
|
|
$Sprite2.visible = true
|
|
$Sprite3.visible = true
|
|
self.position = camPos[2]
|
|
self.scale = camZoom[2]
|
|
4:
|
|
$Sprite1.visible = true
|
|
$Sprite2.visible = true
|
|
$Sprite3.visible = true
|
|
$Sprite4.visible = true
|
|
self.position = camPos[3]
|
|
self.scale = camZoom[3]
|
|
5:
|
|
$Sprite1.visible = true
|
|
$Sprite2.visible = true
|
|
$Sprite3.visible = true
|
|
$Sprite4.visible = true
|
|
$Sprite5.visible = true
|
|
self.position = camPos[4]
|
|
self.scale = camZoom[4]
|
|
6:
|
|
$Sprite1.visible = true
|
|
$Sprite2.visible = true
|
|
$Sprite3.visible = true
|
|
$Sprite4.visible = true
|
|
$Sprite5.visible = true
|
|
$Sprite6.visible = true
|
|
self.position = camPos[5]
|
|
self.scale = camZoom[5]
|
|
7:
|
|
$Sprite1.visible = true
|
|
$Sprite2.visible = true
|
|
$Sprite3.visible = true
|
|
$Sprite4.visible = true
|
|
$Sprite5.visible = true
|
|
$Sprite6.visible = true
|
|
$Sprite7.visible = true
|
|
self.position = camPos[6]
|
|
self.scale = camZoom[6]
|
|
8:
|
|
$Sprite1.visible = true
|
|
$Sprite2.visible = true
|
|
$Sprite3.visible = true
|
|
$Sprite4.visible = true
|
|
$Sprite5.visible = true
|
|
$Sprite6.visible = true
|
|
$Sprite7.visible = true
|
|
$Sprite8.visible = true
|
|
self.position = camPos[7]
|
|
self.scale = camZoom[7]
|
|
9:
|
|
$Sprite1.visible = true
|
|
$Sprite2.visible = true
|
|
$Sprite3.visible = true
|
|
$Sprite4.visible = true
|
|
$Sprite5.visible = true
|
|
$Sprite6.visible = true
|
|
$Sprite7.visible = true
|
|
$Sprite8.visible = true
|
|
self.position = camPos[8]
|
|
self.scale = camZoom[8]
|
|
|
|
var dialogicNode = get_parent().get_parent().get_node("Game").get_child(0).get_child(0)
|
|
dialogicNode.connect("dialogic_signal", self, "_sprite_listener")
|
|
|
|
func _sprite_listener(string):
|
|
match string:
|
|
"sprite1":
|
|
if $Tween.is_active():
|
|
$Tween.remove_all()
|
|
$Sprite1.modulate.a = 0.0
|
|
$Sprite1.visible = true
|
|
Dialogic.set_variable("cameraPosition", "1")
|
|
$Tween.interpolate_property($Sprite1, "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
"sprite2":
|
|
if $Tween.is_active():
|
|
$Tween.remove_all()
|
|
self.position = camPos[0]
|
|
self.scale = camZoom[0]
|
|
$Sprite2.modulate.a = 0.0
|
|
$Sprite2.visible = true
|
|
Dialogic.set_variable("cameraPosition", "2")
|
|
$Tween.interpolate_property($Sprite2, "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "position", self.position, camPos[1], camTime[1], Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "scale", self.scale, camZoom[1], camTime[1], Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
"sprite3":
|
|
if $Tween.is_active():
|
|
$Tween.remove_all()
|
|
self.position = camPos[1]
|
|
self.scale = camZoom[1]
|
|
$Sprite3.modulate.a = 0.0
|
|
$Sprite3.visible = true
|
|
Dialogic.set_variable("cameraPosition", "3")
|
|
$Tween.interpolate_property($Sprite3, "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "position", self.position, camPos[2], camTime[2], Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "scale", self.scale, camZoom[2], camTime[2], Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
"sprite4":
|
|
if $Tween.is_active():
|
|
$Tween.remove_all()
|
|
self.position = camPos[2]
|
|
self.scale = camZoom[2]
|
|
$Sprite4.modulate.a = 0.0
|
|
$Sprite4.visible = true
|
|
Dialogic.set_variable("cameraPosition", "4")
|
|
$Tween.interpolate_property($Sprite4, "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "position", self.position, camPos[3], camTime[3], Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "scale", self.scale, camZoom[3], camTime[3], Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
"sprite5":
|
|
if $Tween.is_active():
|
|
$Tween.remove_all()
|
|
self.position = camPos[3]
|
|
self.scale = camZoom[3]
|
|
$Sprite5.modulate.a = 0.0
|
|
$Sprite5.visible = true
|
|
Dialogic.set_variable("cameraPosition", "5")
|
|
$Tween.interpolate_property($Sprite5, "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "position", self.position, camPos[4], camTime[4], Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "scale", self.scale, camZoom[4], camTime[4], Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
"sprite6":
|
|
if $Tween.is_active():
|
|
$Tween.remove_all()
|
|
self.position = camPos[4]
|
|
self.scale = camZoom[4]
|
|
$Sprite6.modulate.a = 0.0
|
|
$Sprite6.visible = true
|
|
Dialogic.set_variable("cameraPosition", "6")
|
|
$Tween.interpolate_property($Sprite6, "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "position", self.position, camPos[5], camTime[5], Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "scale", self.scale, camZoom[5], camTime[5], Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
"sprite7":
|
|
if $Tween.is_active():
|
|
$Tween.remove_all()
|
|
self.position = camPos[5]
|
|
self.scale = camZoom[5]
|
|
$Sprite7.modulate.a = 0.0
|
|
$Sprite7.visible = true
|
|
Dialogic.set_variable("cameraPosition", "7")
|
|
$Tween.interpolate_property($Sprite7, "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "position", self.position, camPos[6], camTime[6], Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "scale", self.scale, camZoom[6], camTime[6], Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
"sprite8":
|
|
if $Tween.is_active():
|
|
$Tween.remove_all()
|
|
self.position = camPos[6]
|
|
self.scale = camZoom[6]
|
|
$Sprite8.modulate.a = 0.0
|
|
$Sprite8.visible = true
|
|
Dialogic.set_variable("cameraPosition", "8")
|
|
$Tween.interpolate_property($Sprite8, "modulate", Color(1, 1, 1, 0), Color(1, 1, 1, 1), fadeTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "position", self.position, camPos[7], camTime[7], Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "scale", self.scale, camZoom[7], camTime[7], Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
$Timer.start(camTime[7])
|
|
timerNeed = true
|
|
|
|
"sprite9":
|
|
timerNeed = false
|
|
if $Tween.is_active():
|
|
$Tween.remove_all()
|
|
self.position = camSpecialPosition
|
|
self.scale = camZoom[7]
|
|
Dialogic.set_variable("cameraPosition", "9")
|
|
$Tween.interpolate_property(self, "position", self.position, camPos[8], camTime[8], Tween.TRANS_LINEAR, 0)
|
|
$Tween.interpolate_property(self, "scale", self.scale, camZoom[8], camTime[8], Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
|
|
func _on_Timer_timeout():
|
|
if timerNeed:
|
|
timerNeed = false
|
|
$Tween.interpolate_property(self, "position", self.position, camSpecialPosition, camSpecialTime, Tween.TRANS_LINEAR, 0)
|
|
$Tween.start()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|