Mappable switches

This commit is contained in:
Marco 2025-06-18 12:18:45 +02:00
commit 1454e55629
6 changed files with 165 additions and 7 deletions

Binary file not shown.

View file

@ -2030,6 +2030,10 @@ shape = SubResource("ConvexPolygonShape3D_p8h87")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 1.125, 23.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 1.125, 23.5)
TargetName = &"actor_elevator_test" TargetName = &"actor_elevator_test"
[node name="entity_115_actor_controlpad" parent="FuncGodotMap" instance=ExtResource("35_c4mw0")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 22.25, 1.75, 26.25)
TargetGroup = "actor_elevator_test"
[node name="Props" type="Node3D" parent="."] [node name="Props" type="Node3D" parent="."]
[node name="Mainframe3d" parent="Props" instance=ExtResource("16_u5cc4")] [node name="Mainframe3d" parent="Props" instance=ExtResource("16_u5cc4")]

View file

@ -1511,6 +1511,7 @@
// entity 1 // entity 1
{ {
"classname" "wall_grille" "classname" "wall_grille"
"targetname" "actor_elevator_test"
// brush 0 // brush 0
{ {
( 348 168 16 ) ( 348 168 17 ) ( 348 167 16 ) special/clip [ 0 -1 0 -24 ] [ 0 0 1 -16 ] 180 1 -1 ( 348 168 16 ) ( 348 168 17 ) ( 348 167 16 ) special/clip [ 0 -1 0 -24 ] [ 0 0 1 -16 ] 180 1 -1
@ -1524,6 +1525,7 @@
// entity 2 // entity 2
{ {
"classname" "wall_grille" "classname" "wall_grille"
"targetname" "actor_elevator_test"
// brush 0 // brush 0
{ {
( 348 184 16 ) ( 348 184 17 ) ( 348 183 16 ) special/clip [ 0 -1 0 -8 ] [ 0 0 1 -16 ] 180 1 -1 ( 348 184 16 ) ( 348 184 17 ) ( 348 183 16 ) special/clip [ 0 -1 0 -8 ] [ 0 0 1 -16 ] 180 1 -1
@ -1966,570 +1968,681 @@
{ {
"classname" "light_omni" "classname" "light_omni"
"origin" "248 456 40" "origin" "248 456 40"
"targetname" "actor_elevator_test"
} }
// entity 28 // entity 28
{ {
"classname" "light_spot" "classname" "light_spot"
"origin" "136 408 40" "origin" "136 408 40"
"targetname" "actor_elevator_test"
} }
// entity 29 // entity 29
{ {
"classname" "light_omni" "classname" "light_omni"
"origin" "312 232 40" "origin" "312 232 40"
"targetname" "actor_elevator_test"
} }
// entity 30 // entity 30
{ {
"classname" "light_omni" "classname" "light_omni"
"origin" "408 280 40" "origin" "408 280 40"
"targetname" "actor_elevator_test"
} }
// entity 31 // entity 31
{ {
"classname" "light_omni" "classname" "light_omni"
"origin" "408 168 40" "origin" "408 168 40"
"targetname" "actor_elevator_test"
} }
// entity 32 // entity 32
{ {
"classname" "light_omni" "classname" "light_omni"
"origin" "504 184 40" "origin" "504 184 40"
"targetname" "actor_elevator_test"
} }
// entity 33 // entity 33
{ {
"classname" "light_omni" "classname" "light_omni"
"origin" "376 104 40" "origin" "376 104 40"
"targetname" "actor_elevator_test"
} }
// entity 34 // entity 34
{ {
"classname" "light_omni" "classname" "light_omni"
"origin" "488 264 40" "origin" "488 264 40"
"targetname" "actor_elevator_test"
} }
// entity 35 // entity 35
{ {
"classname" "light_omni" "classname" "light_omni"
"origin" "488 328 40" "origin" "488 328 40"
"targetname" "actor_elevator_test"
} }
// entity 36 // entity 36
{ {
"classname" "light_omni" "classname" "light_omni"
"origin" "488 408 40" "origin" "488 408 40"
"targetname" "actor_elevator_test"
} }
// entity 37 // entity 37
{ {
"classname" "actor_barrel_1" "classname" "actor_barrel_1"
"origin" "184 504 24" "origin" "184 504 24"
"targetname" "actor_elevator_test"
} }
// entity 38 // entity 38
{ {
"classname" "actor_barrel_1" "classname" "actor_barrel_1"
"origin" "184 520 24" "origin" "184 520 24"
"targetname" "actor_elevator_test"
} }
// entity 39 // entity 39
{ {
"classname" "actor_barrel_1" "classname" "actor_barrel_1"
"origin" "184 536 24" "origin" "184 536 24"
"targetname" "actor_elevator_test"
} }
// entity 40 // entity 40
{ {
"classname" "actor_barrel_1" "classname" "actor_barrel_1"
"origin" "264 360 24" "origin" "264 360 24"
"targetname" "actor_elevator_test"
} }
// entity 41 // entity 41
{ {
"classname" "actor_tank" "classname" "actor_tank"
"origin" "280 544 24" "origin" "280 544 24"
"targetname" "actor_elevator_test"
} }
// entity 42 // entity 42
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "332 360 20" "origin" "332 360 20"
"targetname" "actor_elevator_test"
} }
// entity 43 // entity 43
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "284 360 20" "origin" "284 360 20"
"angle" "90" "angle" "90"
"targetname" "actor_elevator_test"
} }
// entity 44 // entity 44
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "248 552 24" "origin" "248 552 24"
"targetname" "actor_elevator_test"
} }
// entity 45 // entity 45
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "248 536 24" "origin" "248 536 24"
"targetname" "actor_elevator_test"
} }
// entity 46 // entity 46
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "248 520 24" "origin" "248 520 24"
"targetname" "actor_elevator_test"
} }
// entity 47 // entity 47
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "248 504 24" "origin" "248 504 24"
"targetname" "actor_elevator_test"
} }
// entity 48 // entity 48
{ {
"classname" "actor_tube_junction" "classname" "actor_tube_junction"
"origin" "248 488 24" "origin" "248 488 24"
"angle" "90" "angle" "90"
"targetname" "actor_elevator_test"
} }
// entity 49 // entity 49
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "216 504 24" "origin" "216 504 24"
"targetname" "actor_elevator_test"
} }
// entity 50 // entity 50
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "216 520 24" "origin" "216 520 24"
"targetname" "actor_elevator_test"
} }
// entity 51 // entity 51
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "216 536 24" "origin" "216 536 24"
"targetname" "actor_elevator_test"
} }
// entity 52 // entity 52
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "216 552 24" "origin" "216 552 24"
"targetname" "actor_elevator_test"
} }
// entity 53 // entity 53
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "232 488 24" "origin" "232 488 24"
"angle" "270" "angle" "270"
"targetname" "actor_elevator_test"
} }
// entity 54 // entity 54
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "216 360 24" "origin" "216 360 24"
"targetname" "actor_elevator_test"
} }
// entity 55 // entity 55
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "216 376 24" "origin" "216 376 24"
"targetname" "actor_elevator_test"
} }
// entity 56 // entity 56
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "216 392 24" "origin" "216 392 24"
"targetname" "actor_elevator_test"
} }
// entity 57 // entity 57
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "216 408 24" "origin" "216 408 24"
"targetname" "actor_elevator_test"
} }
// entity 58 // entity 58
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "216 424 24" "origin" "216 424 24"
"targetname" "actor_elevator_test"
} }
// entity 59 // entity 59
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "232 440 24" "origin" "232 440 24"
"angle" "270" "angle" "270"
"targetname" "actor_elevator_test"
} }
// entity 60 // entity 60
{ {
"classname" "actor_tube_junction" "classname" "actor_tube_junction"
"origin" "280 488 24" "origin" "280 488 24"
"angle" "180" "angle" "180"
"targetname" "actor_elevator_test"
} }
// entity 61 // entity 61
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "280 472 24" "origin" "280 472 24"
"targetname" "actor_elevator_test"
} }
// entity 62 // entity 62
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "280 456 24" "origin" "280 456 24"
"targetname" "actor_elevator_test"
} }
// entity 63 // entity 63
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "280 440 24" "origin" "280 440 24"
"targetname" "actor_elevator_test"
} }
// entity 64 // entity 64
{ {
"classname" "actor_tube_straight" "classname" "actor_tube_straight"
"origin" "264 488 24" "origin" "264 488 24"
"angle" "270" "angle" "270"
"targetname" "actor_elevator_test"
} }
// entity 65 // entity 65
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "376 472 20" "origin" "376 472 20"
"targetname" "actor_elevator_test"
} }
// entity 66 // entity 66
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "376 488 20" "origin" "376 488 20"
"targetname" "actor_elevator_test"
} }
// entity 67 // entity 67
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "376 472 28" "origin" "376 472 28"
"targetname" "actor_elevator_test"
} }
// entity 68 // entity 68
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "376 488 28" "origin" "376 488 28"
"targetname" "actor_elevator_test"
} }
// entity 69 // entity 69
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "376 456 20" "origin" "376 456 20"
"targetname" "actor_elevator_test"
} }
// entity 70 // entity 70
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "328 440 20" "origin" "328 440 20"
"targetname" "actor_elevator_test"
} }
// entity 71 // entity 71
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "328 456 20" "origin" "328 456 20"
"targetname" "actor_elevator_test"
} }
// entity 72 // entity 72
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "328 488 20" "origin" "328 488 20"
"targetname" "actor_elevator_test"
} }
// entity 73 // entity 73
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "344 456 20" "origin" "344 456 20"
"targetname" "actor_elevator_test"
} }
// entity 74 // entity 74
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "344 440 20" "origin" "344 440 20"
"targetname" "actor_elevator_test"
} }
// entity 75 // entity 75
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "360 440 20" "origin" "360 440 20"
"targetname" "actor_elevator_test"
} }
// entity 76 // entity 76
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "360 456 20" "origin" "360 456 20"
"targetname" "actor_elevator_test"
} }
// entity 77 // entity 77
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "376 440 20" "origin" "376 440 20"
"targetname" "actor_elevator_test"
} }
// entity 78 // entity 78
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "392 448 20" "origin" "392 448 20"
"angle" "45" "angle" "45"
"targetname" "actor_elevator_test"
} }
// entity 79 // entity 79
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "360 488 20" "origin" "360 488 20"
"targetname" "actor_elevator_test"
} }
// entity 80 // entity 80
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "360 488 28" "origin" "360 488 28"
"targetname" "actor_elevator_test"
} }
// entity 81 // entity 81
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "360 456 28" "origin" "360 456 28"
"targetname" "actor_elevator_test"
} }
// entity 82 // entity 82
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "344 440 28" "origin" "344 440 28"
"targetname" "actor_elevator_test"
} }
// entity 83 // entity 83
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "136 456 20" "origin" "136 456 20"
"targetname" "actor_elevator_test"
} }
// entity 84 // entity 84
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "268 192 20" "origin" "268 192 20"
"targetname" "actor_elevator_test"
} }
// entity 85 // entity 85
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "276 192 20" "origin" "276 192 20"
"targetname" "actor_elevator_test"
} }
// entity 86 // entity 86
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "268 208 20" "origin" "268 208 20"
"targetname" "actor_elevator_test"
} }
// entity 87 // entity 87
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "268 192 28" "origin" "268 192 28"
"targetname" "actor_elevator_test"
} }
// entity 88 // entity 88
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "268 272 20" "origin" "268 272 20"
"targetname" "actor_elevator_test"
} }
// entity 89 // entity 89
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "276 272 20" "origin" "276 272 20"
"targetname" "actor_elevator_test"
} }
// entity 90 // entity 90
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "268 256 20" "origin" "268 256 20"
"targetname" "actor_elevator_test"
} }
// entity 91 // entity 91
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "268 272 28" "origin" "268 272 28"
"targetname" "actor_elevator_test"
} }
// entity 92 // entity 92
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "356 272 20" "origin" "356 272 20"
"targetname" "actor_elevator_test"
} }
// entity 93 // entity 93
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "356 184 20" "origin" "356 184 20"
"targetname" "actor_elevator_test"
} }
// entity 94 // entity 94
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "356 272 28" "origin" "356 272 28"
"targetname" "actor_elevator_test"
} }
// entity 95 // entity 95
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "356 184 28" "origin" "356 184 28"
"targetname" "actor_elevator_test"
} }
// entity 96 // entity 96
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "364 184 20" "origin" "364 184 20"
"targetname" "actor_elevator_test"
} }
// entity 97 // entity 97
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "364 272 20" "origin" "364 272 20"
"targetname" "actor_elevator_test"
} }
// entity 98 // entity 98
{ {
"classname" "actor_table" "classname" "actor_table"
"origin" "272 232 20" "origin" "272 232 20"
"targetname" "actor_elevator_test"
} }
// entity 99 // entity 99
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "336 192 20" "origin" "336 192 20"
"targetname" "actor_elevator_test"
} }
// entity 100 // entity 100
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "336 192 28" "origin" "336 192 28"
"targetname" "actor_elevator_test"
} }
// entity 101 // entity 101
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "336 272 20" "origin" "336 272 20"
"targetname" "actor_elevator_test"
} }
// entity 102 // entity 102
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "336 272 28" "origin" "336 272 28"
"targetname" "actor_elevator_test"
} }
// entity 103 // entity 103
{ {
"classname" "actor_barrel_1" "classname" "actor_barrel_1"
"origin" "248 360 24" "origin" "248 360 24"
"targetname" "actor_elevator_test"
} }
// entity 104 // entity 104
{ {
"classname" "actor_barrel_1" "classname" "actor_barrel_1"
"origin" "232 360 24" "origin" "232 360 24"
"targetname" "actor_elevator_test"
} }
// entity 105 // entity 105
{ {
"classname" "actor_barrel_1" "classname" "actor_barrel_1"
"origin" "232 360 32" "origin" "232 360 32"
"targetname" "actor_elevator_test"
} }
// entity 106 // entity 106
{ {
"classname" "actor_tank" "classname" "actor_tank"
"origin" "432 544 24" "origin" "432 544 24"
"targetname" "actor_elevator_test"
} }
// entity 107 // entity 107
{ {
"classname" "actor_ac_unit" "classname" "actor_ac_unit"
"origin" "440 416 24" "origin" "440 416 24"
"targetname" "actor_elevator_test"
} }
// entity 108 // entity 108
{ {
"classname" "actor_ac_unit" "classname" "actor_ac_unit"
"origin" "440 360 24" "origin" "440 360 24"
"angle" "270" "angle" "270"
"targetname" "actor_elevator_test"
} }
// entity 109 // entity 109
{ {
"classname" "actor_ac_unit" "classname" "actor_ac_unit"
"origin" "168 552 24" "origin" "168 552 24"
"angle" "180" "angle" "180"
"targetname" "actor_elevator_test"
} }
// entity 110 // entity 110
{ {
"classname" "actor_terminal" "classname" "actor_terminal"
"origin" "272 232 28" "origin" "272 232 28"
"targetname" "actor_elevator_test"
} }
// entity 111 // entity 111
{ {
"classname" "actor_ac_unit" "classname" "actor_ac_unit"
"origin" "304 188 24" "origin" "304 188 24"
"angle" "270" "angle" "270"
"targetname" "actor_elevator_test"
} }
// entity 112 // entity 112
{ {
"classname" "actor_tube_corner" "classname" "actor_tube_corner"
"origin" "216 488 24" "origin" "216 488 24"
"angle" "270" "angle" "270"
"targetname" "actor_elevator_test"
} }
// entity 113 // entity 113
{ {
"classname" "actor_tube_corner" "classname" "actor_tube_corner"
"origin" "216 440 24" "origin" "216 440 24"
"angle" "180" "angle" "180"
"targetname" "actor_elevator_test"
} }
// entity 114 // entity 114
{ {
"classname" "actor_box_green" "classname" "actor_box_green"
"origin" "328 472 20" "origin" "328 472 20"
"targetname" "actor_elevator_test"
} }
// entity 115 // entity 115
{ {
"classname" "actor_box_green" "classname" "actor_box_green"
"origin" "344 472 20" "origin" "344 472 20"
"targetname" "actor_elevator_test"
} }
// entity 116 // entity 116
{ {
"classname" "actor_box_yellow" "classname" "actor_box_yellow"
"origin" "344 488 20" "origin" "344 488 20"
"targetname" "actor_elevator_test"
} }
// entity 117 // entity 117
{ {
"classname" "actor_box_green" "classname" "actor_box_green"
"origin" "328 488 28" "origin" "328 488 28"
"targetname" "actor_elevator_test"
} }
// entity 118 // entity 118
{ {
"classname" "actor_box_yellow" "classname" "actor_box_yellow"
"origin" "328 440 28" "origin" "328 440 28"
"targetname" "actor_elevator_test"
} }
// entity 119 // entity 119
{ {
"classname" "actor_box_yellow" "classname" "actor_box_yellow"
"origin" "360 472 20" "origin" "360 472 20"
"targetname" "actor_elevator_test"
} }
// entity 120 // entity 120
{ {
"classname" "actor_capacitor" "classname" "actor_capacitor"
"origin" "528 136 28" "origin" "528 136 28"
"targetname" "actor_elevator_test"
} }
// entity 121 // entity 121
{ {
"classname" "actor_capacitor" "classname" "actor_capacitor"
"origin" "496 136 28" "origin" "496 136 28"
"targetname" "actor_elevator_test"
} }
// entity 122 // entity 122
{ {
"classname" "actor_box_green" "classname" "actor_box_green"
"origin" "248 712 20" "origin" "248 712 20"
"targetname" "actor_elevator_test"
} }
// entity 123 // entity 123
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "244 792 28" "origin" "244 792 28"
"targetname" "actor_elevator_test"
} }
// entity 124 // entity 124
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "244 792 20" "origin" "244 792 20"
"targetname" "actor_elevator_test"
} }
// entity 125 // entity 125
{ {
"classname" "actor_table" "classname" "actor_table"
"origin" "248 732 20" "origin" "248 732 20"
"targetname" "actor_elevator_test"
} }
// entity 126 // entity 126
{ {
"classname" "actor_box_green" "classname" "actor_box_green"
"origin" "280 792 20" "origin" "280 792 20"
"targetname" "actor_elevator_test"
} }
// entity 127 // entity 127
{ {
"classname" "actor_box_red" "classname" "actor_box_red"
"origin" "296 784 20" "origin" "296 784 20"
"targetname" "actor_elevator_test"
} }
// entity 128 // entity 128
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "312 760 20" "origin" "312 760 20"
"targetname" "actor_elevator_test"
} }
// entity 129 // entity 129
{ {
"classname" "actor_box_yellow" "classname" "actor_box_yellow"
"origin" "320 792 20" "origin" "320 792 20"
"targetname" "actor_elevator_test"
} }
// entity 130 // entity 130
{ {
"classname" "actor_box_blue" "classname" "actor_box_blue"
"origin" "248 712 28" "origin" "248 712 28"
"targetname" "actor_elevator_test"
} }
// entity 131 // entity 131
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "244 776 20" "origin" "244 776 20"
"targetname" "actor_elevator_test"
} }
// entity 132 // entity 132
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "252 792 20" "origin" "252 792 20"
"targetname" "actor_elevator_test"
} }
// entity 133 // entity 133
{ {
"classname" "actor_box_wood" "classname" "actor_box_wood"
"origin" "308 792 20" "origin" "308 792 20"
"targetname" "actor_elevator_test"
} }
// entity 134 // entity 134
{ {
"classname" "actor_ac_unit" "classname" "actor_ac_unit"
"origin" "284 708 24" "origin" "284 708 24"
"angle" "270" "angle" "270"
"targetname" "actor_elevator_test"
} }
// entity 135 // entity 135
{ {
"classname" "actor_vendingmachine" "classname" "actor_vendingmachine"
"origin" "248 760 28" "origin" "248 760 28"
"targetname" "actor_elevator_test"
} }
// entity 136 // entity 136
{ {
"classname" "actor_vendingmachine" "classname" "actor_vendingmachine"
"origin" "280 744 28" "origin" "280 744 28"
"angle" "270" "angle" "270"
"targetname" "actor_elevator_test"
} }
// entity 137 // entity 137
{ {
"classname" "trigger_area" "classname" "trigger_area"
"target" "actor_elevator_test" "target" "actor_elevator_test"
"targetname" ""
// brush 0 // brush 0
{ {
( 360 352 16 ) ( 360 353 16 ) ( 360 352 17 ) special/clip [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 ( 360 352 16 ) ( 360 353 16 ) ( 360 352 17 ) special/clip [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1
@ -2546,3 +2659,10 @@
"origin" "376 416 18" "origin" "376 416 18"
"targetname" "actor_elevator_test" "targetname" "actor_elevator_test"
} }
// entity 139
{
"classname" "actor_controlpad"
"origin" "420 356 28"
"targetname" ""
"target" "actor_elevator_test"
}

View file

@ -1,7 +1,8 @@
[gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=4 format=3 uid="uid://ceio7tm5eopbb"] [gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=5 format=3 uid="uid://ceio7tm5eopbb"]
[ext_resource type="Resource" uid="uid://5bc1qysixhmh" path="res://3D/TrenchBroom/EntityDefinitions/base/actor_base.tres" id="1_5ms1a"] [ext_resource type="Resource" uid="uid://5bc1qysixhmh" path="res://3D/TrenchBroom/EntityDefinitions/base/actor_base.tres" id="1_5ms1a"]
[ext_resource type="PackedScene" uid="uid://du6hlcoq0iip4" path="res://3D/Scenes/Props/control_pad_3d.tscn" id="2_5ms1a"] [ext_resource type="PackedScene" uid="uid://du6hlcoq0iip4" path="res://3D/Scenes/Props/control_pad_3d.tscn" id="2_5ms1a"]
[ext_resource type="Resource" uid="uid://kerywjgft7vh" path="res://3D/TrenchBroom/EntityDefinitions/base/target_base.tres" id="2_65tcb"]
[ext_resource type="Script" uid="uid://dkmyelig23ub5" path="res://addons/func_godot/src/fgd/func_godot_fgd_model_point_class.gd" id="3_y02cg"] [ext_resource type="Script" uid="uid://dkmyelig23ub5" path="res://addons/func_godot/src/fgd/func_godot_fgd_model_point_class.gd" id="3_y02cg"]
[resource] [resource]
@ -14,15 +15,15 @@ generate_gd_ignore_file = false
scene_file = ExtResource("2_5ms1a") scene_file = ExtResource("2_5ms1a")
apply_rotation_on_map_build = true apply_rotation_on_map_build = true
apply_scale_on_map_build = false apply_scale_on_map_build = false
classname = "actor_vendingmachine" classname = "actor_controlpad"
description = "Vending Machine" description = "Control Pad"
func_godot_internal = false func_godot_internal = false
base_classes = Array[Resource]([ExtResource("1_5ms1a")]) base_classes = Array[Resource]([ExtResource("1_5ms1a"), ExtResource("2_65tcb")])
class_properties = {} class_properties = {}
class_property_descriptions = {} class_property_descriptions = {}
auto_apply_to_matching_node_properties = false auto_apply_to_matching_node_properties = false
meta_properties = { meta_properties = {
"size": AABB(-8, -8, -12, 8, 8, 12), "size": AABB(-4, -4, -4, 4, 4, 4),
"studio": "\"3D/MapModels/actor_vendingmachine.glb\"" "studio": "\"3D/MapModels/actor_vendingmachine.glb\""
} }
node_class = "" node_class = ""

View file

@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=20 format=3 uid="uid://b700sa4be6dfa"] [gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=21 format=3 uid="uid://b700sa4be6dfa"]
[ext_resource type="Resource" uid="uid://ia1t5p4mhom3" path="res://3D/TrenchBroom/EntityDefinitions/point/lights/light_omni.tres" id="1_7vcj1"] [ext_resource type="Resource" uid="uid://ia1t5p4mhom3" path="res://3D/TrenchBroom/EntityDefinitions/point/lights/light_omni.tres" id="1_7vcj1"]
[ext_resource type="Script" uid="uid://cknmd0lgmorx2" path="res://addons/func_godot/src/fgd/func_godot_fgd_file.gd" id="1_lykim"] [ext_resource type="Script" uid="uid://cknmd0lgmorx2" path="res://addons/func_godot/src/fgd/func_godot_fgd_file.gd" id="1_lykim"]
@ -19,6 +19,7 @@
[ext_resource type="Resource" uid="uid://41wnjh6ftght" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_box_green.tres" id="16_7h4of"] [ext_resource type="Resource" uid="uid://41wnjh6ftght" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_box_green.tres" id="16_7h4of"]
[ext_resource type="Resource" uid="uid://dj72os2jpdl4l" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_box_yellow.tres" id="17_m3sbm"] [ext_resource type="Resource" uid="uid://dj72os2jpdl4l" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_box_yellow.tres" id="17_m3sbm"]
[ext_resource type="Resource" uid="uid://bmfarpfcbbfa5" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_VendingMachine.tres" id="18_m3sbm"] [ext_resource type="Resource" uid="uid://bmfarpfcbbfa5" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_VendingMachine.tres" id="18_m3sbm"]
[ext_resource type="Resource" uid="uid://ceio7tm5eopbb" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_controlpad.tres" id="19_hvhb8"]
[resource] [resource]
script = ExtResource("1_lykim") script = ExtResource("1_lykim")
@ -26,5 +27,5 @@ export_file = false
target_map_editor = 1 target_map_editor = 1
fgd_name = "FuncGodot" fgd_name = "FuncGodot"
base_fgd_files = Array[Resource]([]) base_fgd_files = Array[Resource]([])
entity_definitions = Array[Resource]([ExtResource("1_7vcj1"), ExtResource("2_u7uvb"), ExtResource("3_u7uvb"), ExtResource("4_1nmxk"), ExtResource("5_ljb2x"), ExtResource("6_seuvu"), ExtResource("7_fmwex"), ExtResource("8_c8m8m"), ExtResource("9_14sjf"), ExtResource("10_xik3w"), ExtResource("11_dgiqm"), ExtResource("12_1teik"), ExtResource("13_f0hti"), ExtResource("14_6ld6e"), ExtResource("15_g8j5j"), ExtResource("16_7h4of"), ExtResource("17_m3sbm"), ExtResource("18_m3sbm")]) entity_definitions = Array[Resource]([ExtResource("1_7vcj1"), ExtResource("2_u7uvb"), ExtResource("3_u7uvb"), ExtResource("4_1nmxk"), ExtResource("5_ljb2x"), ExtResource("6_seuvu"), ExtResource("7_fmwex"), ExtResource("8_c8m8m"), ExtResource("9_14sjf"), ExtResource("10_xik3w"), ExtResource("11_dgiqm"), ExtResource("12_1teik"), ExtResource("13_f0hti"), ExtResource("14_6ld6e"), ExtResource("15_g8j5j"), ExtResource("16_7h4of"), ExtResource("17_m3sbm"), ExtResource("18_m3sbm"), ExtResource("19_hvhb8")])
metadata/_custom_type_script = "uid://cknmd0lgmorx2" metadata/_custom_type_script = "uid://cknmd0lgmorx2"

View file

@ -4,8 +4,10 @@ using Godot.Collections;
namespace Cirno.Scripts.Interactables; namespace Cirno.Scripts.Interactables;
[Tool]
public partial class Switch3D : Interactable3D public partial class Switch3D : Interactable3D
{ {
[Export] public string TargetGroup { get; private set; }
[Export] public Node Target { get; set; } [Export] public Node Target { get; set; }
[Export] public Array<Node> Targets { get; private set; } = []; [Export] public Array<Node> Targets { get; private set; } = [];
[Export] public ActivationType ActivationType { get; set; } = ActivationType.Toggle; [Export] public ActivationType ActivationType { get; set; } = ActivationType.Toggle;
@ -19,9 +21,18 @@ public partial class Switch3D : Interactable3D
public override void _Ready() public override void _Ready()
{ {
if (Engine.IsEditorHint()) return;
_activationSound = GetNodeOrNull<AudioStreamPlayer>(_activationSoundName); _activationSound = GetNodeOrNull<AudioStreamPlayer>(_activationSoundName);
} }
public void _func_godot_apply_properties(Dictionary<string, string> props)
{
TargetGroup = props["target"];
//TargetFunc = props["targetfunc"];
//TargetName = props["targetname"];
}
public override bool Activate(ActivationType activationType = ActivationType.Toggle) public override bool Activate(ActivationType activationType = ActivationType.Toggle)
{ {
var activationTypeToUse = activationType is ActivationType.Use ? ActivationType : activationType; var activationTypeToUse = activationType is ActivationType.Use ? ActivationType : activationType;
@ -34,6 +45,11 @@ public partial class Switch3D : Interactable3D
// Compatibility for old single system // Compatibility for old single system
bool success = ActivateTarget(Target, activationTypeToUse); bool success = ActivateTarget(Target, activationTypeToUse);
if (!string.IsNullOrWhiteSpace(TargetGroup))
{
UseTargets(this, TargetGroup);
}
return Targets.Aggregate(success, (current, target) => ActivateTarget(target, activationTypeToUse) | success); return Targets.Aggregate(success, (current, target) => ActivateTarget(target, activationTypeToUse) | success);
} }
@ -43,4 +59,20 @@ public partial class Switch3D : Interactable3D
activable?.Activate(activationType); activable?.Activate(activationType);
return true; return true;
} }
private void UseTargets(Node activator, string target)
{
GD.Print($"Trying to use targets called: {target}");
var targetList = GetTree().GetNodesInGroup(target);
foreach (var t in targetList)
{
//string f;
GD.Print($"Trying to use {t.Name}");
if (t is IActivable activable)
{
GD.Print($"Activating {t.Name}");
activable.Toggle();
}
}
}
} }