Add OpenDoorActionResource and integrate into TriggerActionFactory
This commit is contained in:
@@ -14,6 +14,7 @@ public class TriggerActionFactory
|
|||||||
UnlockDoorActionResource unlock => new UnlockDoorAction(unlock.TargetWorldId),
|
UnlockDoorActionResource unlock => new UnlockDoorAction(unlock.TargetWorldId),
|
||||||
SpawnEntityActionResource spawn => new SpawnEntityAction(spawn.ArchetypeId, spawn.SpawnerWorldId),
|
SpawnEntityActionResource spawn => new SpawnEntityAction(spawn.ArchetypeId, spawn.SpawnerWorldId),
|
||||||
DebugMessageActionResource debug => new DebugMessageAction(debug.Message),
|
DebugMessageActionResource debug => new DebugMessageAction(debug.Message),
|
||||||
|
OpenDoorActionResource open => new OpenDoorAction(open.TargetWorldId),
|
||||||
_ => throw new ArgumentOutOfRangeException(nameof(resource),
|
_ => throw new ArgumentOutOfRangeException(nameof(resource),
|
||||||
$"TriggerAction type {resource.GetType().Name} not recognized")
|
$"TriggerAction type {resource.GetType().Name} not recognized")
|
||||||
};
|
};
|
||||||
|
|||||||
9
Code/Resources/OpenDoorActionResource.cs
Normal file
9
Code/Resources/OpenDoorActionResource.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using Godot;
|
||||||
|
|
||||||
|
namespace CryptonymThunder.Code.Resources;
|
||||||
|
|
||||||
|
[GlobalClass]
|
||||||
|
public partial class OpenDoorActionResource : TriggerActionResource
|
||||||
|
{
|
||||||
|
[Export] public string TargetWorldId { get; set; } = "door_to_open";
|
||||||
|
}
|
||||||
1
Code/Resources/OpenDoorActionResource.cs.uid
Normal file
1
Code/Resources/OpenDoorActionResource.cs.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dngi4w4ae8wyr
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://b1d2gc8goj6gx" path="res://Objects/green_door.tscn" id="13_00aki"]
|
[ext_resource type="PackedScene" uid="uid://b1d2gc8goj6gx" path="res://Objects/green_door.tscn" id="13_00aki"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cww3lcsxldnt3" path="res://Objects/green_card_pickup.tscn" id="14_5qvjo"]
|
[ext_resource type="PackedScene" uid="uid://cww3lcsxldnt3" path="res://Objects/green_card_pickup.tscn" id="14_5qvjo"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bjbsk8nhi5e4i" path="res://Objects/green_door_button.tscn" id="15_g7kif"]
|
[ext_resource type="PackedScene" uid="uid://bjbsk8nhi5e4i" path="res://Objects/green_door_button.tscn" id="15_g7kif"]
|
||||||
[ext_resource type="Script" uid="uid://cgsqrgdok7ovp" path="res://Code/Resources/UnlockDoorActionResource.cs" id="16_vpkaq"]
|
[ext_resource type="Script" uid="uid://dngi4w4ae8wyr" path="res://Code/Resources/OpenDoorActionResource.cs" id="16_vpkaq"]
|
||||||
[ext_resource type="Script" uid="uid://c4csquqmqqqww" path="res://Code/Resources/LogicSequenceComponentResource.cs" id="17_df4ul"]
|
[ext_resource type="Script" uid="uid://c4csquqmqqqww" path="res://Code/Resources/LogicSequenceComponentResource.cs" id="17_df4ul"]
|
||||||
|
|
||||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ucfah"]
|
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ucfah"]
|
||||||
@@ -68,15 +68,15 @@ BaseValues = Dictionary[int, float]({
|
|||||||
})
|
})
|
||||||
metadata/_custom_type_script = "uid://dc7wq2ij5kwj5"
|
metadata/_custom_type_script = "uid://dc7wq2ij5kwj5"
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_q0a86"]
|
[sub_resource type="Resource" id="Resource_df4ul"]
|
||||||
script = ExtResource("16_vpkaq")
|
script = ExtResource("16_vpkaq")
|
||||||
TargetWorldId = "green_door"
|
TargetWorldId = "green_door"
|
||||||
metadata/_custom_type_script = "uid://cgsqrgdok7ovp"
|
metadata/_custom_type_script = "uid://dngi4w4ae8wyr"
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_3hp7m"]
|
[sub_resource type="Resource" id="Resource_3hp7m"]
|
||||||
script = ExtResource("17_df4ul")
|
script = ExtResource("17_df4ul")
|
||||||
RequiredChannels = Array[String](["green_door_button"])
|
RequiredChannels = Array[String](["green_door_button"])
|
||||||
OnCompleteActions = Array[Resource]([SubResource("Resource_q0a86")])
|
OnCompleteActions = Array[Resource]([SubResource("Resource_df4ul")])
|
||||||
metadata/_custom_type_script = "uid://c4csquqmqqqww"
|
metadata/_custom_type_script = "uid://c4csquqmqqqww"
|
||||||
|
|
||||||
[node name="GameWorld" type="Node3D"]
|
[node name="GameWorld" type="Node3D"]
|
||||||
|
|||||||
Reference in New Issue
Block a user