#include "interfaces/Map_Interface.hps"
#include "base/Inputhandler_Types.hps"
#include "helpers/helper_map.hps"
#include "helpers/helper_props.hps"
#include "helpers/helper_effects.hps"
#include "helpers/helper_audio.hps"
#include "helpers/helper_imgui.hps"
#include "helpers/helper_sequences.hps"
#include "helpers/helper_game.hps"
#include "helpers/helper_modules.hps"
#include "helpers/helper_ai.hps"
#include "helpers/helper_player.hps"
#include "helper_custom_depth.hps"
#include "helper_imgui_station.hps"
#include "helper_imgui_station_apps_common.hps"
#include "helper_imgui_station_app_error.hps"
#include "helper_imgui_station_app_numpad.hps"
#include "helper_imgui_station_app_audioplayback.hps"
#include "helper_imgui_station_app_mail.hps"
//--------------------------------------------------
/*Place any global values here. These must be const variables as they will not be saved*/
/*This is also the place for enums and classes, but these should be avoided whenever possible*/
//--------------------------------------------------
const tString gsDoorCodeNo = "0735";
enum eHubRoomTerminalState
{
eHubRoomTerminalState_MainMenu = -1,
eHubRoomTerminalState_Mail,
eHubRoomTerminalState_Power,
eHubRoomTerminalState_Staff,
eHubRoomTerminalState_LogOut,
eHubRoomTerminalState_LogIn_Main,
eHubRoomTerminalState_LogIn_Code,
}
enum eHubRoomTerminalUsers
{
eHubRoomTerminalUsers_Amy = 2,
eHubRoomTerminalUsers_Carl = 7,
}
class cScrMap : iScrMap
{
/////////////////////////////////////////
// ==============
// VARIABLE CREATION
// ==============
//{///////////////////////////////////////
bool mbPlayerGotLight;
bool mbPlayerIsSitting;
bool mbPitchLimitsSaved = false;
cVector2f mvSavedPitchLimits;
tString msTrainChairName;
//} END VARIABLE CREATION
//--------------------------------------------
//////////////////////////////////////////////////////////////////////////////////////////
// ==============
// MAIN CALLBACKS
// ==============
//{///////////////////////////////////////////////////////////////////////////////////////
//-------------------------------------------------------
////////////////////////////
// Set up map environment
void Setup()
{
}
//-------------------------------------------------------
////////////////////////////
// Run first time starting map
void OnStart()
{
SetupLabCamera();
Map_AddTimer("TrainBounce",1.0,"Timer_TrainBounce");
Map_AddTimer("ComputerLoad",1.0,"Timer_ComputerLoad");
Prop_MoveLinearTo("01_05_transporter_passenger_1", "train_arrived", 10, 12, 4.0f, false);
Light_SetVisible("SamsElectrolyte",false);
ParticleSystem_SetVisible("SamElecPS_*",false);
ParticleSystem_SetVisible("panelPS_*",false);
ParticleSystem_SetVisible("wau_panelPS_*",false);
Light_SetVisible("PointLight_156",false);
Entity_PlayAnimation("patchwork","lying",0.0f,true);
Prop_SetStaticPhysics("01_05_transporter_passenger_door*", true);
Entity_AttachToEntity("player", "01_05_transporter_passenger_1", "", false, true);
Sound_CreateAtEntity("TrainLoop", "01_04_transport_station/Special/Train/sequence", "player", 0.0f, false, 1.0f);
/////Starting Sequence///////
Player_SetJumpDisabled(true);
Effect_Fade_Out(0.0f);
Effect_Fade_In(5.0f);
Sound_FadeGlobalVolume(0.0f, 0.0f, eSoundEntryType_WorldAll);
Sound_FadeGlobalVolume(1.0f, 5.0f, eSoundEntryType_WorldAll);
/////Starting Sequence End//
}
//-------------------------------------------------------
void Timer_TrainBounce(const tString &in asTimer)
{
////////////////////////
// This timer should repeat!
Map_AddTimer("TrainBounce",cMath_RandRectf(1.0,3.0),"Timer_TrainBounce");
///////////////////////////////////////////////
// Periodically cause a subtle shake effect for the train
Effect_Shake_Start(0.03,0.1,0.21,0.21,cVector3f(0,1,0),3);
}
void stunrod_1_OnPlayerInteract(const tString &in asEntity)
{
Sound_CreateAtEntity("", "03_02_omicron_inside/gameplay/battery/battery_pickup", "player", 0.0f, false, 1.0f);
}
bool TrainCollideFirst(const tString &in asParent, const tString &in asChild, int alState)
{
Prop_MoveLinearTo("01_05_transporter_passenger_1", "train_arrived", 5, 7, 0.0f, false);
Sound_CreateAtEntity("TrainArrive", "00_01_subway/SFX/train_arriving", "player", 0.0f, false, 1.0f);
return true;
}
bool TrainCollideSecond(const tString &in asParent, const tString &in asChild, int alState)
{
Prop_MoveLinearTo("01_05_transporter_passenger_1", "train_arrived", 5, 15, 0.0f, false);
Prop_MoveLinearTo("slidedoor_traintunnel_2", "door_fucker", 5, 15, 0.0f, false);
Entity_SetActive("slidedoor_traintunnel_2", false);
Effect_Shake_Start(0.1f,2.0f,0.21f,0.21f,cVector3f(0.1,0.1,0.1),2);
Map_AddTimer("TimerBrakes", 1.5f, "TimerTramDoors");
Sound_Stop("TrainLoop", 4.0f);
return false;
}
bool TrainCollideLast(const tString &in asParent, const tString &in asChild, int alState)
{
Prop_MoveLinearTo("01_05_transporter_passenger_1", "train_arrived", 5, 0, 8.0f, false);
Prop_MoveLinearTo("slidedoor_traintunnel_2", "door_fucker_1", 5, 5, 0.0f, false);
Map_RemoveTimer("TrainBounce");
Player_SetMoveSpeedMul(1.0f);
Player_SetJumpDisabled(false);
Player_SetStandDisabled(false);
Player_SetPitchLimits(0,0);
Player_SetYawLimits(0,0);
Sound_CreateAtEntity("", "00_01_subway/ambience/inside/announcer_ping", "01_05_transporter_passenger_1", 0.0, false);
mbPlayerIsSitting = false;
Map_AddTimer("TimerSound", 2.0f, "TimerTramDoors");
Map_AddTimer("TimerOpen", 3.0f, "TimerTramDoors");
return true;
}
void TimerTramDoors(const tString &in asTimer)
{
if (asTimer == "TimerSound"){
Sound_CreateAtEntity("", "Entities_Station/object/train/door/open_motion", "SlidedoorAtStation_1", 0, false);
Sound_CreateAtEntity("", "Entities_Station/object/train/door/open_start", "SlidedoorAtStation_1", 0, false);
Sound_CreateAtEntity("", "Entities_Station/object/train/door/open_motion", "SlidedoorAtStation_2", 0, false);
Sound_CreateAtEntity("", "Entities_Station/object/train/door/open_start", "SlidedoorAtStation_2", 0, false);
Entity_SetInteractionDisabled("Omnitool",false);
}
if(asTimer == "TimerOpen"){
PhysicsSlideDoor_AutoMoveToState("SlidedoorAtStation_*", 1);
Entity_SetActive("01_05_transporter_passenger_door*", false);
Entity_SetActive("SlidedoorAtStation_*", true);
Prop_MoveLinearTo("slidedoor_traintunnel_2", "door_fucker_1", 5, 5, 0.0f, false);
}
if(asTimer == "TimerBrakes"){
Sound_CreateAtEntity("TrainArrive", "02_06_theta_tunnels/sfx/events/elevator_sequence/motor/stop", "player", 0.0f, false, 0.7f);
Map_RemoveTimer("TimerBrakes");
}
}
bool OmniTool_OnUse(const tString &in asTool, const tString &in asEntity)
{
if (asEntity == "FirstSeal")
{
CathTool_UseOnPanel("Omnitool","FirstSeal");
return true;
}
return false;
}
void FirstSeal_OnConnectionStateChange(const tString &in asEntity, int alState)
{
Map_AddTimer("DockDoorButton_Interact", 2.0f, "DockDoorButton_Interact");
}
void DockDoorButton_Interact(const tString &in asTimer)
{
SlideDoor_SetClosed("FirstSealedDoor",false);
Entity_SetActive("ToolArea_1",false);
}
void InteractLeaveChair(const tString &in asEntity)
{
Sound_CreateAtEntity("player_sit", "01_04_transport_station/SFX/foley/train_stand", msTrainChairName, 0, false);
Entity_AttachToEntity("player", "01_05_transporter_passenger_1", "", false, false);
}
////////////////////////////
// Run when entering map
void OnEnter()
{
ImGui_PreloadImage("inv_omnitool.tga");
ImGui_PreloadImage("graphics/imgui/station/filetreeicons/file_icon.tga");
ImGui_PreloadImage("graphics/imgui/station/thirdparty/pda/pda_background.tga");
}
//-------------------------------------------------------
////////////////////////////
// Run when leaving map
void OnLeave()
{
}
//-------------------------------------------------------
////////////////////////////
// The player has died.
void OnPlayerKilled(int alRecentDeaths, const tString&in asSource)
{
}
//-------------------------------------------------------
////////////////////////////
// To get when player makes input (mostly used for debug)
void OnAction(int alAction, bool abPressed)
{
if(abPressed==false) return;
if(alAction == eAction_Test1)
{
}
}
//-------------------------------------------------------
////////////////////////////
// This only used for pure debug purposes when info needs to printed.
float DrawDebugOutput(cGuiSet @apSet,iFontData @apFont,float afY)
{
//afY = cLux_DrawDebugText("My Debug value:"+..., afY);
return afY;
}
//-------------------------------------------------------
void OnGui(float afTimeStep)
{
}
//-------------------------------------------------------
//} END MAIN CALLBACKS
//////////////////////////////////////////////////////////////////////////////////////////
// ==============
// MAIN FUNCTIONS
// ==============
//{///////////////////////////////////////////////////////////////////////////////////////
//-------------------------------------------------------
/*Put any variables that are used in more than one scene here.*/
//-------------------------------------------------------
/*Put any functions that are used in more than one scene here.*/
bool CollideRadiationArea(const tString &in asParent, const tString &in asChild, int alState)
{
Sound_CreateAtEntity("Rad", "02_06_theta_tunnels/sfx/ark_comp/ark_comp_compile/ark_comp_compile_start", "RadArea_3");
return true;
}
bool CollideSterilizerArea(const tString &in asParent, const tString &in asChild, int alState)
{
SlideDoor_SetClosed("slidedoor_theta_small_windowed_1", true, false);
Entity_SetActive("SterilArea", false);
Entity_SetActive("warning_1", true);
Entity_SetActive("warning_2", true);
Map_AddTimer("Timer_Sterilize_up", 3.0f, "Timer_Sterilize");
Map_AddTimer("Timer_Sterilize_med", 4.0f, "Timer_Sterilize");
Map_AddTimer("Timer_Sterilize_down", 5.0f, "Timer_Sterilize");
Map_AddTimer("Timer_Sterilize_cloud", 7.5f, "Timer_Sterilize");
Map_AddTimer("Timer_Sterilize_end", 12.5f, "Timer_Sterilize");
Map_AddTimer("Timer_Sterilize_open", 15.5f, "Timer_Sterilize");
return true;
}
void Timer_Sterilize(const tString &in asTimer)
{
if(asTimer == "Timer_Sterilize_up"){
for(int i=1;i<=4;i++){
ParticleSystem_CreateAtEntity("PS_Ster_"+i+"", "steam_airlock.ps", "PS_Area_"+i+"", true);
}
Sound_CreateAtEntity("alarm", "01_02_upsilon_inside_02/amb/spot/comm_room_alarm", "PS_Area_13", 0.0f, true, 3.0f);
}
if(asTimer == "Timer_Sterilize_med"){
for(int i=5;i<=8;i++){
ParticleSystem_CreateAtEntity("PS_Ster_"+i+"", "steam_airlock.ps", "PS_Area_"+i+"", true);
}
}
if(asTimer == "Timer_Sterilize_down"){
for(int i=9;i<=12;i++){
ParticleSystem_CreateAtEntity("PS_Ster_"+i+"", "steam_airlock.ps", "PS_Area_"+i+"", true);
}
}
if(asTimer == "Timer_Sterilize_cloud"){
ParticleSystem_CreateAtEntity("PS_Shower", "steam_shower.ps", "PS_Area_13", true);
}
if(asTimer == "Timer_Sterilize_end"){
for(int i=1;i<=12;i++){
ParticleSystem_Destroy("PS_Ster_"+i+"");
ParticleSystem_Destroy("PS_Shower");
}
Sound_Stop("alarm", 2.0f);
}
if(asTimer == "Timer_Sterilize_open"){
SlideDoor_SetClosed("slidedoor_theta_small_windowed_2", false, false);
Entity_SetActive("warning_1", false);
Entity_SetActive("warning_2", false);
}
}
bool CollideSterilizerAreaOut(const tString &in asParent, const tString &in asChild, int alState)
{
SlideDoor_SetClosed("slidedoor_theta_small_windowed_2", true, false);
Button_SetLocked("panel_laboratory_9", true, true);
Entity_SetActive("SterilArea_1", false);
return true;
}
bool CollideAutoDoorOpen(const tString &in asParent, const tString &in asChild, int alState)
{
if (alState == 1){
SlideDoor_SetClosed("slidedoor_lab_glass_right_2", false, false);
SlideDoor_SetClosed("slidedoor_lab_glass_left_2", false, false);
}
if (alState == -1){
SlideDoor_SetClosed("slidedoor_lab_glass_right_2", true, false);
SlideDoor_SetClosed("slidedoor_lab_glass_left_2", true, false);
}
return true;
}
bool TriggerScreamFlicker(const tString &in asParent, const tString &in asChild, int alState)
{
Entity_SetActive("AreaTriggerScreamFlicker", false);
Entity_SetActive("DistortionArea_6", true);
Map_AddTimer("Timer_Start", 0.5f, "TimerFlickerStart");
Map_AddTimer("Timer_Break", 2.75f, "TimerFlickerStart");
Map_AddTimer("Timer_Stop", 3.5f, "TimerFlickerStart");
Sound_CreateAtEntity("", "NPC_Creatures/Vocalisations/InWorld/Flesher/ladder_scream", "slidedoor_theta_small_12", 0.0f, false, 2.0f);
return true;
}
void TimerFlickerStart(const tString &in asTimer)
{
if(asTimer == "Timer_Start"){
Lamp_SetFlickerActive("living_quarters_fluo_*",true);
}
if(asTimer == "Timer_Break"){
Lamp_SetFlickerActive("living_quarters_fluo_1",false);
Lamp_SetLit("living_quarters_fluo_1", false, false);
Lamp_SetFlickerActive("living_quarters_fluo_3",false);
Lamp_SetLit("living_quarters_fluo_3", false, false);
ParticleSystem_CreateAtEntity("","elec_spark_physics_few_oneshot.ps","Elec_Area_1",false);
ParticleSystem_CreateAtEntity("","elec_spark_physics_few_oneshot.ps","Elec_Area_2",false);
}
if(asTimer == "Timer_Stop"){
Lamp_SetFlickerActive("living_quarters_fluo_*",false);
Entity_SetActive("DistortionArea_6", false);
}
}
void SwitchedOnLights(const tString &in asEntity, int alState)
{
if (alState == 1){
Sound_Play("SoundScream", 0.1);
Sound_CreateAtEntity("Startup", "01_02_upsilon_inside_02/sfx/carl_torture_event/electricity_start", "ElecSoundArea", 0.0f, false, 1.0f);
Sound_CreateAtEntity("Loop", "01_02_upsilon_inside_02/sfx/carl_torture_event/electricity_loop", "ElecSoundArea", 2.0f, false, 1.0f);
Sound_CreateAtEntity("CooldownLoop", "01_02_upsilon_inside_02/sfx/carl_torture_event/cooldown_loop", "ElecSoundArea", 2.0f, false, 1.0f);
ParticleSystem_CreateAtEntity("OldSparky","elec_spark_large_continuous.ps","SamExecutionElec_*",false);
ParticleSystem_SetVisible("SamElecPS_*",true);
Entity_SetActive("DistortionArea_7", true);
Map_AddTimer("TimerScreamSam", .75f, "TimerSoundLoop");
Light_SetVisible("SamsElectrolyte",true);
}
if (alState == -1){
ParticleSystem_Destroy("OldSparky");
Map_RemoveTimer("TimerScreamSam");
Lamp_SetFlickerActive("living_quarters_fluo_*",false);
ParticleSystem_SetVisible("SamElecPS_*",false);
Entity_SetActive("DistortionArea_7", false);
Entity_SetActive("ark_crew_04_1", false);
Entity_SetActive("ark_crew_04_2", true);
Sound_Stop("Startup", 1.0f);
Sound_Stop("Loop", 1.0f);
Light_SetVisible("SamsElectrolyte",false);
Button_SetLocked("theta_panel_lightswitch_attachment_3", false,true);
Sound_CreateAtEntity("sparkssy", "level_amb_shared_interior/amb/spot/sparks/spark_train_crash", "theta_panel_lightswitch_attachment_3", 0.0f, false, 1.0f);
ParticleSystem_SetVisible("panelPS_*",true);
}
}
void TimerSoundLoop(const tString &in asTimer)
{
if(asTimer == "TimerScreamSam"){
Lamp_SetFlickerActive("living_quarters_fluo_*",true);
Sound_Play("SoundScream", 0.1);
Map_AddTimer("TimerScreamSam", .75f, "TimerSoundLoop");
}
}
void InteractPartialDoorButton(const tString &in asEntity)
{
Light_SetVisible("PointLight_156",true);
ParticleSystem_SetVisible("wau_panelPS_*",false);
Button_SetLocked("theta_panel_26",false,true);
Entity_SetInteractionDisabled("theta_panel_26",true);
Player_GiveDamage(0.1f, 0.1, eDamageType_Electricity, "");
}
//-------------------------------------------------------
//} END MAIN FUNCTIONS
//////////////////////////////////////////////////////////////////////////////////////////
// ==============
// SCENE X *NAME OF SCENE*
// ==============
//{//////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////
// General
//{//////////////////////////////////////
//-------------------------------------------------------
/*Put any variables that are used by many events in Scene X here.*/
//-------------------------------------------------------
/*Put any functions that are used in more than one event in Scene X here.*/
//-------------------------------------------------------
//} END General
/////////////////////////////////////////
// Event *Name Of Event*
//{//////////////////////////////////////
//-------------------------------------------------------
/*Put any variables that are only used in Scene X, Event X here.*/
//-------------------------------------------------------
/*Put any functionsthat are only used in Scene X, Event X here.*/
//-------------------------------------------------------
//} END Event *Name Of Event*
//} END SCENE X
/////////////////////////////////////////
// ==============
// TERMINALS
// ==============
//{//////////////////////////////////////
//-------------------------------------------------------
/////////////////////////////////////////
// Terminal *Name Of Terminal*
//{//////////////////////////////////////
//-------------------------------------------------------
/*Put any variables that are only used Terminal here.*/
bool mbButtonPressed;
//-------------------------------------------------------
/*Put any functions that are only used Terminal here.*/
bool mbSentDraft = false;
bool mbCommRoomPoweredOn = false;
void TerminalEntrance_OnGui(const tString&in asEntityName, float afTimeStep)
{
// Set Translation Category
ImGui_SetTransCategory("Arlington_Concept_01");
/////////////////////////////////
// Backdrop
StationGuiBG_Backdrop("background/background_logo_pathOS", cVector2f(0.01, 0.45));
StationGuiBG_Scanlines();
StationGuiBG_Taskbar("upsilon");
if (ImGui_GetStateBool("DisplayLowPowerError", false))
{
return;
}
if (StationGui_DrawAndCheckErrors()) return;
int lMail = -1;
bool bBackButtonEnabled = true;
int lBackApp = eHubRoomTerminalState_MainMenu;
int lActiveApp = StationGui_GetActiveApp();
switch (lActiveApp)
{
case eHubRoomTerminalState_LogIn_Main:
break;
case eHubRoomTerminalState_LogIn_Code:
if (StationGui_Numpad("ControlTerminalApp_LogIn", 4))
{
StationGui_SetActiveApp(eHubRoomTerminalState_LogIn_Main);
}
bBackButtonEnabled = true;
lBackApp = eHubRoomTerminalState_LogIn_Main;
break;
case eHubRoomTerminalState_Mail:
if (ImGui_GetStateInt("LoginUser")==eHubRoomTerminalUsers_Amy)
{
Depth_ImGui_AddMail("EntranceTerminal_Subject_1", "EntranceTerminal_Body_1", "", "EntranceTerminal_Date_1", eMailAppEntryType_Sent);
Depth_ImGui_AddMail("EntranceTerminal_Subject_1", "EntranceTerminal_Body_1", "", "EntranceTerminal_Date_1", eMailAppEntryType_Inbox);
}
else
{
Depth_ImGui_AddMail("EntranceTerminal_Subject_1", "EntranceTerminal_Body_1", "", "EntranceTerminal_Date_1", eMailAppEntryType_Inbox);
Depth_ImGui_AddMail("EntranceTerminal_Subject_2", "EntranceTerminal_Body_2", "", "EntranceTerminal_Date_2", eMailAppEntryType_Draft);
Depth_ImGui_AddMail("EntranceTerminal_Subject_4", "EntranceTerminal_Body_4", "", "EntranceTerminal_Date_4", eMailAppEntryType_Inbox);
}
StationGui_MailApp("SentMail_HubRoomTerminal");
break;
case eHubRoomTerminalState_Power:
if (StationGui_Numpad("ComputerNumPad_Header", 5))
{
tString sCode = StationGui_GetNumpadInput();
if (sCode == "27522")
{
Button_SetLocked("highsecurity_1", false, true);
StationGui_SetError("Decontamination_Text");
cGuiDialogBoxSettings dialogBox = StationGui_CreateDefaultDialogBox();
dialogBox.mType = eGuiDialogBoxType_OK;
eGuiDialogCode code = Depth_ImGui_DialogBox("Decontamination_Header", "Decontamination_Text", dialogBox);
Sound_CreateAtEntity("", "Entities_Station/tech/terminal_beeps/terminal_computer_granted", ImGui_GetName(), 0.0f, false, 1.0f);
if (code == eGuiDialogCode_OK)
{
StationGui_SetActiveApp(eHubRoomTerminalState_MainMenu);
}
}
else
{
StationGui_SetError("DoorNumPad_WrongCode");
Button_SetLocked("highsecurity_1", true, true);
Sound_CreateAtEntity("", "Entities_Station/tech/terminal_beeps/terminal_computer_denied", ImGui_GetName(), 0.0f, false, 1.0f);
}
}
break;
case eHubRoomTerminalState_Staff:
StationGui_TextReaderSingle("EntranceStaff_Header", "EntranceStaff_Text");
break;
case eHubRoomTerminalState_LogOut:
StationGui_TextReaderSingle("SuperSecretProject_Header", "SuperSecretProject_Text");
break;
case eHubRoomTerminalState_MainMenu:
StationGui_AddApp("EntranceTerminalApp_Mail");
StationGui_AddApp("EntranceTerminalApp_Power");
StationGui_AddApp("EntranceTerminalApp_Staff");
StationGui_AddApp("EntranceTerminalApp_LogOut");
StationGui_MainMenu();
bBackButtonEnabled = false;
break;
}
if (StationGui_BackButton(bBackButtonEnabled, lBackApp))
{
if (lActiveApp == eHubRoomTerminalState_LogIn_Code)
StationGui_SetNumpadInput("");
}
}
bool SentMail_HubRoomTerminal(const tString &in asTitle)
{
if (!mbCommRoomPoweredOn)
{
StationGui_SetError("NetworkError_1");
}
else
{
mbSentDraft = true;
}
return mbCommRoomPoweredOn;
}
void Timer_ComputerLoad(const tString &in asTimer)
{
////////////////////////
// This timer should repeat!
Map_AddTimer("ComputerLoadStop",cMath_RandRectf(3.0,6.0),"Timer_ComputerLoad");
Sound_CreateAtEntity("CLoad", "level_amb_shared_machines/tech/HDD/underload_loop", "ComputerEntrance", 0.5f, true, 0.8f);
if(asTimer == "ComputerLoadStop"){
Sound_Stop("CLoad", 0.2f);
Map_AddTimer("ComputerLoad",cMath_RandRectf(10.0,18.0),"Timer_ComputerLoad");
}
}
void TerminalEntrance_EnterGui(const tString&in asEntityName)
{
}
void TerminalEntrance_LeaveGui(const tString&in asEntityName)
{
}
void SetupLabCamera()
{
Gui_CreateCameraTexture("LabCamera", cVector2l(768, 613), 30, 90.0f, 0.1, 60);
Gui_AttachCameraTextureToEntity("LabCamera", "CameraLabArea");
}
/////////ResearchTerminals Begin\\\\\\\\\\\\
void ResearchTerminalOneOnGui(const tString&in asEntityName, float afTimeStep)
{
cImGuiGfx gfx("LabCamera", eImGuiGfx_Special);
ImGui_DrawGfx(gfx, cVector3f(0,0,5.0f), ImGui_GetSize(), cColor(1, 1));
}
void ResearchTerminalTwoOnGui(const tString&in asEntityName, float afTimeStep)
{
}
void ResearchTerminalThreeOnGui(const tString&in asEntityName, float afTimeStep)
{
}
void ResearchTerminalFourOnGui(const tString&in asEntityName, float afTimeStep)
{
}
/////////ResearchTerminals End\\\\\\\\\\\\
void DoorNumPad_OnGui(const tString&in asEntityName, float afTimeStep)
{
StationGuiBG_Backdrop();
StationGuiBG_Scanlines();
if (StationGui_Numpad("DoorNumPad_Header", 4))
{
tString sCode = StationGui_GetNumpadInput();
if (sCode == "7491")
{
Button_SetLocked("panel_laboratory_11", false,true);
Sound_CreateAtEntity("", "Entities_Station/tech/terminal_beeps/terminal_computer_granted", ImGui_GetName(), 0.0f, false, 1.0f);
}
else
{
StationGui_SetError("DoorNumPad_WrongCode");
Sound_CreateAtEntity("", "Entities_Station/tech/terminal_beeps/terminal_computer_denied", ImGui_GetName(), 0.0f, false, 1.0f);
}
}
}
void SamDatapad_OnGui(const tString&in asEntityName, float afTimeStep)
{
ImGui_SetTransCategory("Arlington_Concept_01");
StationGuiBG_Backdrop();
StationGuiBG_Scanlines();
cStationGui_TextReaderSettings settings;
settings.mbFullScreen = true;
StationGui_TextReaderSingle("SamData_Title", "SamData_Body", settings, cVector3f(0.05, 0.02, 1), cVector2f(0.9, 0.95));
}
//-------------------------------------------------------
//} END Terminal *Name Of Terminal*
//} END TERMINALS
}