Add a docking controller script using some new Block Actions.

This commit is contained in:
2025-02-19 19:41:53 -05:00
parent 54f04a7cf0
commit 11298083e7
20 changed files with 344 additions and 42 deletions

View File

@ -66,7 +66,7 @@ namespace IngameScript
continue;
}
int step = Int32.Parse(Ini.Get(key, "step").ToString("0"));
IBlockAction blockAction = buildBlockAction(block, key);
BlockAction blockAction = buildBlockAction(block, key);
if (blockAction == null)
{
Console.Print($"Failed to add '{block.CustomName}' to action '{actionName}'.");
@ -121,22 +121,22 @@ namespace IngameScript
}
// Prerequisite: Ini.Parse has already been called for this block.
private IBlockAction buildBlockAction(IMyTerminalBlock block, string key)
private BlockAction buildBlockAction(IMyTerminalBlock block, string key)
{
if (block is IMyDoor)
{
BlockActionDoor.DoorAction action;
DoorAction action;
switch (Ini.Get(key, "action").ToString("open"))
{
case "open":
action = BlockActionDoor.DoorAction.Open;
action = DoorAction.Open;
break;
case "close":
action = BlockActionDoor.DoorAction.Close;
action = DoorAction.Close;
break;
default:
Console.Print($"Invalid door action for '{block.CustomName}'. Defaulting to open.");
action = BlockActionDoor.DoorAction.Open;
action = DoorAction.Open;
break;
}