Add status light scene

This commit is contained in:
Daniel Snider 2022-08-16 00:07:49 -07:00
parent 830b78cf77
commit e968fb923b
2 changed files with 204 additions and 0 deletions

185
scenes/status_light.tscn Normal file
View File

@ -0,0 +1,185 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://scripts/status_light.gd" type="Script" id=1]
[sub_resource type="Animation" id=1]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath(".:light_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 1, 1, 1, 1 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:light_energy")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 1.0 ]
}
[sub_resource type="Animation" id=2]
resource_name = "activate"
length = 0.6
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:light_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 0.0313726, 1, 0, 1 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:light_energy")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.3, 0.6 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ 1.0, 0.1, 1.0 ]
}
[sub_resource type="Animation" id=6]
resource_name = "fail"
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath(".:light_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 1, 0, 0, 1 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:light_energy")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 1.0 ]
}
[sub_resource type="Animation" id=3]
resource_name = "idle"
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath(".:light_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 1, 1, 1, 1 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:light_energy")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 1.0 ]
}
[sub_resource type="Animation" id=4]
resource_name = "prime"
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath(".:light_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 1, 1, 1, 1 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:light_energy")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.5, 1 ),
"transitions": PoolRealArray( 1, 1, 1 ),
"update": 0,
"values": [ 1.0, 0.1, 1.0 ]
}
[sub_resource type="Animation" id=5]
resource_name = "warn"
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath(".:light_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 1, 0.960784, 0, 1 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath(".:light_energy")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 0.5 ]
}
[node name="status_light" type="OmniLight"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.400717, 0.897655 )
omni_range = 1.03219
omni_attenuation = 0.120742
script = ExtResource( 1 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/RESET = SubResource( 1 )
anims/activate = SubResource( 2 )
anims/fail = SubResource( 6 )
anims/idle = SubResource( 3 )
anims/prime = SubResource( 4 )
anims/warn = SubResource( 5 )

19
scripts/status_light.gd Normal file
View File

@ -0,0 +1,19 @@
extends OmniLight
func _ready():
idle()
func idle():
$AnimationPlayer.play("idle")
func prime():
$AnimationPlayer.play("prime")
func activate():
$AnimationPlayer.play("activate")
func warn():
$AnimationPlayer.play("warn")
func fail():
$AnimationPlayer.play("fail")