Initial Android commit
This commit is contained in:
commit
1e2b80c13d
8521 changed files with 231475 additions and 0 deletions
156
scenes/BackgroundScenes/Death_fall.gd
Normal file
156
scenes/BackgroundScenes/Death_fall.gd
Normal file
|
@ -0,0 +1,156 @@
|
|||
extends Node2D
|
||||
|
||||
const zoomStart = 1.0
|
||||
const zoomEnd = 0.97
|
||||
const bloodStart = 0.2
|
||||
const bloodEnd = 0.9
|
||||
const timeParam = 1.7
|
||||
|
||||
const easterEggDelay = 13.0
|
||||
var easterPresented
|
||||
var countdownTime
|
||||
var beginCountdown
|
||||
|
||||
var isDead
|
||||
var bloodIncrement
|
||||
var zoomIncrement
|
||||
var currentZoom
|
||||
var currentEnergy
|
||||
var isIncreasing
|
||||
var screenWidth;
|
||||
var screenHeight;
|
||||
var xOffset;
|
||||
var yOffset
|
||||
|
||||
func _ready():
|
||||
if not get_tree().root.has_node("Root"):
|
||||
return ;
|
||||
|
||||
GallerySingleton.AddImage("Death_fall");
|
||||
|
||||
if (float(Dialogic.get_variable("Pink_Karma")) <= - 3.5):
|
||||
easterPresented = true
|
||||
|
||||
var dialogicNode = get_parent().get_parent().get_node("Game").get_child(0).get_child(0)
|
||||
dialogicNode.connect("dialogic_signal", self, "_frame_switch_listener")
|
||||
beginCountdown = false
|
||||
countdownTime = 0.0
|
||||
isDead = false
|
||||
bloodIncrement = (bloodEnd - bloodStart) / timeParam;
|
||||
zoomIncrement = (zoomEnd - zoomStart) / timeParam;
|
||||
currentZoom = zoomStart
|
||||
isIncreasing = true
|
||||
currentEnergy = 0
|
||||
screenWidth = SettingsSingleton.GetCurrectScreenResolutionVector2().x
|
||||
screenHeight = SettingsSingleton.GetCurrectScreenResolutionVector2().y
|
||||
|
||||
func _process(delta):
|
||||
if (easterPresented):
|
||||
if (countdownTime < easterEggDelay and beginCountdown):
|
||||
countdownTime += delta
|
||||
elif (countdownTime >= easterEggDelay and beginCountdown):
|
||||
beginCountdown = false
|
||||
easterEgg()
|
||||
|
||||
if (isDead):
|
||||
if (isIncreasing):
|
||||
if (currentEnergy <= bloodEnd):
|
||||
|
||||
currentEnergy += bloodIncrement * delta
|
||||
currentZoom += zoomIncrement * delta
|
||||
$death / Light2D.self_modulate.a = currentEnergy
|
||||
xOffset = (1 - currentZoom) * ($death / Polygon2D.get_global_transform_with_canvas().origin.x) / (screenWidth);
|
||||
|
||||
yOffset = (1 - currentZoom) * (screenHeight - $death / Polygon2D.get_global_transform_with_canvas().origin.y) / screenHeight;
|
||||
var offset = Vector2(xOffset, yOffset);
|
||||
var tiling = Vector2(currentZoom, currentZoom)
|
||||
$death / Polygon2D.material.set_shader_param("offset", offset)
|
||||
$death / Polygon2D.material.set_shader_param("tiling", tiling);
|
||||
else :
|
||||
isIncreasing = false
|
||||
if ( not isIncreasing):
|
||||
if (currentEnergy >= bloodStart):
|
||||
|
||||
currentEnergy -= bloodIncrement * delta
|
||||
currentZoom -= zoomIncrement * delta
|
||||
$death / Light2D.self_modulate.a = currentEnergy
|
||||
xOffset = (1 - currentZoom) * ($death / Polygon2D.get_global_transform_with_canvas().origin.x) / (screenWidth);
|
||||
yOffset = (1 - currentZoom) * (screenHeight - $death / Polygon2D.get_global_transform_with_canvas().origin.y) / screenHeight;
|
||||
var offset = Vector2(xOffset, yOffset);
|
||||
$death / Polygon2D.material.set_shader_param("offset", offset)
|
||||
$death / Polygon2D.material.set_shader_param("tiling", Vector2(currentZoom, currentZoom));
|
||||
else :
|
||||
isIncreasing = true
|
||||
else :pass
|
||||
func _frame_switch_listener(string):
|
||||
match string:
|
||||
"frame2":
|
||||
$Sprite2.visible = false
|
||||
$frames / Sprite2_1.visible = true
|
||||
"frame3":
|
||||
$frames / Sprite2_1.visible = false
|
||||
$frames / Sprite2_2.visible = true
|
||||
"frame4":
|
||||
$frames / Sprite2_2.visible = false
|
||||
$Sprite3.visible = true
|
||||
"death":
|
||||
$death.visible = true;
|
||||
var tween = $death.get_child(0).get_child(0)
|
||||
var light = $death.get_child(0)
|
||||
tween.interpolate_method(self, "bloodInterpolate", 0.0, bloodStart, 1.0, Tween.TRANS_LINEAR, 0);
|
||||
tween.start()
|
||||
yield ($death.get_child(0).get_child(0), "tween_all_completed")
|
||||
currentEnergy = bloodStart
|
||||
$death.get_child(0).self_modulate.a = bloodStart
|
||||
isDead = true;
|
||||
if easterPresented:
|
||||
beginCountdown = true
|
||||
|
||||
func bloodInterpolate(value):
|
||||
$death / Light2D.self_modulate.a = value;
|
||||
|
||||
func easterEgg():
|
||||
if Dialogic.get_variable("Killer") == "Pink":
|
||||
var tween = $Tween
|
||||
$Sprite4.self_modulate.a = 0
|
||||
tween.interpolate_method(self, "interpolateEye", 0, 0.8, 4.5, Tween.TRANS_LINEAR, 0)
|
||||
$Sprite4.visible = true
|
||||
tween.start()
|
||||
|
||||
func interpolateEye(value):
|
||||
$Sprite4.self_modulate.a = value
|
||||
|
||||
func InitForGallery()->Array:
|
||||
scale = Vector2(0.5, 0.5)
|
||||
$Sprite2.visible = true;
|
||||
$frames.visible = false;
|
||||
$Sprite3.visible = false;
|
||||
$Sprite4.visible = false;
|
||||
|
||||
return ["ui_gallery_fall_1", "ui_gallery_fall_2", "ui_gallery_fall_3", "ui_gallery_fall_4"];
|
||||
|
||||
func SetSettings(setting):
|
||||
if setting == tr("ui_gallery_fall_1"):
|
||||
$Sprite2.visible = true;
|
||||
$frames.visible = false;
|
||||
$Sprite3.visible = false;
|
||||
$Sprite4.visible = false;
|
||||
elif setting == tr("ui_gallery_fall_2"):
|
||||
$Sprite2.visible = false;
|
||||
$frames.visible = true;
|
||||
$frames / Sprite2_1.visible = true;
|
||||
$frames / Sprite2_2.visible = false;
|
||||
$Sprite3.visible = false;
|
||||
$Sprite4.visible = false;
|
||||
elif setting == tr("ui_gallery_fall_3"):
|
||||
$Sprite2.visible = false;
|
||||
$frames.visible = true;
|
||||
$frames / Sprite2_1.visible = false;
|
||||
$frames / Sprite2_2.visible = true;
|
||||
$Sprite3.visible = false;
|
||||
$Sprite4.visible = false;
|
||||
elif setting == tr("ui_gallery_fall_4"):
|
||||
$Sprite2.visible = false;
|
||||
$frames.visible = false;
|
||||
$Sprite3.visible = true;
|
||||
$Sprite4.visible = false;
|
Loading…
Add table
Add a link
Reference in a new issue