SecDoorTerminalInterface

v1.0.7·Updated 2024-02-17

(Plugin Dev Libaray) Attach Terminal to Security Door with API

About this mod Author’s original text

SecDoorTerminal sdt = SecDoorTerminal.Place(LG_SecurityDoor secDoor, TerminalStartStateData startData = null, TerminalPlacementData placementData = null);

//Common

sdt.LinkedDoor //Get; LG_SecurityDoor linked to

sdt.LinkedDoorLocks //Get; LG_SecurityDoor_Locks linked to

sdt.ComputerTerminal //Get; LG_ComputerTerminal linked to

sdt.CmdProcessor //Get; LG_ComputerTerminalCommandInterpreter linked to

sdt.Interaction //Get; Interact_ComputerTerminal

sdt.IdleText //Get; TextMeshPro for idle screen

sdt.IdleIcon //Get; SpriteRenderer for idle screen

sdt.SpawnNode //Get; CourseNode of Terminal

sdt.IsTerminalActive //Get; Check if terminal is active

sdt.SetTerminalActive(bool active); //Set Terminal Active or not

sdt.SetSpawnNode(AIG_CourseNode node); //Change SpawnNode

sdt.SetLocationTextToSpawnZone(); //Update Location Text to Spawned Zone

sdt.SetLocationText(string text); //Set Location Text in plain string

//Command Modules

sdt.OnCmdUsed += (TERM_Command cmdType, string input, string param1, string param2) => {};

sdt.OpenCommandName = "OPEN_LINKED"; //For Automatic Open Command Add Behaviour

sdt.OpenCommandDescription = "Open the linked Security Door";

sdt.AddCommand(CommandDescriptor descriptor, Action onCommandUsed = null);

sdt.AddOverrideCommand(string cmd, string helpText, Action onCommandUsed = null);

sdt.AddOpenCommand(string cmd, string helpText, Action onCommandUsed = null);

sdt.SetEndOfQueue(Action onEndOfQueue);

//Interaction Modules

sdt.SetOpenInteractActive(bool active);

sdt.SetUseKeyInteractActive(bool active);

sdt.SetHackingInteractActive(bool active);

sdt.SetCustomMessageActive(bool active);

sdt.OpenOrStartChainPuzzle();

sdt.ForceOpenDoor();

sdt.ForceOpenDoor(float delay);

//State Modules

sdt.StateBehaviour = new SDT_StateBehaviour(); //This controls graphics and interaction

sdt.BioscanScanSolvedBehaviour = CPSolvedBehaviour.AddOpenCommand //CPSolvedBehaviour.AddOpenCommand, CPSolvedBehaviour.OpenDoor

//Graphics Modules

sdt.SetIdleIconColor(Color color);

sdt.SetIdleText(string text);

sdt.SetIdleTextFontSize(float size);

Uncompressed Bundle

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack_GTFO

File & checksum

Filename
SecDoorTerminalInterface-1.0.7.zip
File size
117.3 KiB