GTFOModding-SecDoorTerminalInterface icon

SecDoorTerminalInterface

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

Last updated 2 months ago
Total downloads 4029
Total rating 3 
Categories Libraries
Dependency string GTFOModding-SecDoorTerminalInterface-1.0.7
Dependants 6 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack_GTFO-3.2.1 icon
BepInEx-BepInExPack_GTFO

BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.

Preferred version: 3.2.1

README

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<LG_ComputerTerminalCommandInterpreter> onCommandUsed = null);
sdt.AddOverrideCommand(string cmd, string helpText, Action<LG_ComputerTerminalCommandInterpreter> onCommandUsed = null);
sdt.AddOpenCommand(string cmd, string helpText, Action<LG_ComputerTerminalCommandInterpreter> 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