void OnTriggerEnter(Collider other) { if (other.gameObject.tag == StringManager.Tags.player) { if (SingletonManager.MainTerminalController.GetTerminalState(TerminalType.TERMINAL_ONE) == TerminalState.Unlocked) { TerminalInformation tInformation = SingletonManager.MainTerminalController.GetTerminalInformation((int)TerminalType.TERMINAL_THREE); if (tInformation.isActivated == true) { return; } // Open the door m_Door.GetComponent <DoorBehaviour>().ChangeDoorState(DoorBehaviour.DoorState.OPENING_STUCKED); // INFO: terminal-one TerminalInformation information = new TerminalInformation(); information.isActivated = true; information.isCollected = true; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_ONE, information); information.isActivated = true; information.isCollected = false; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_THREE, information); SingletonManager.XmlSave.Save(); } } }
void OnTriggerEnter(Collider other) { if (other.gameObject.tag == StringManager.Tags.player) { if (SingletonManager.MainTerminalController.GetTerminalState(TerminalType.MAIN_TERMINAL) == TerminalState.Unlocked) { TerminalInformation tInformation = SingletonManager.MainTerminalController.GetTerminalInformation((int)TerminalType.TERMINAL_GENERATOR); if (tInformation.isActivated == true) { return; } // todo open door to generator room m_Door.GetComponent <DoorBehaviour>().ChangeDoorState(DoorBehaviour.DoorState.OPENING_STUCKED); // INFO: terminal-three TerminalInformation information = new TerminalInformation(); information.isActivated = true; information.isCollected = false; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_THREE, information); // INFO: terminal-generator information.isActivated = true; information.isCollected = false; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_GENERATOR, information); // update display for terminal three Terminals terminal = SingletonManager.MainTerminalController.GetTerminalByType(TerminalType.TERMINAL_GENERATOR); Transform displayState = terminal.m_terminal.transform.FindChild("display_2states"); displayState.GetComponent <Renderer>().material.SetTextureOffset("_MainTex", new Vector2(0.0f, 0.0f)); SingletonManager.XmlSave.Save(); } } }
public void SetTerminalInformation(int index, TerminalInformation information, bool fix = false) { // TODO: ADD VISUALIZE EFFECT (interact with the objects...) if (fix) { index++; } m_terminals[index] = information; }
void OnTriggerEnter(Collider other) { if (other.gameObject.tag != StringManager.Tags.player) { return; } if (SingletonManager.MainTerminalController.GetTerminalState(TerminalType.TERMINAL_TWO) == TerminalState.Locked) { TerminalInformation information = new TerminalInformation(); Terminals terminal; Transform displayState; TerminalInformation tInformation = SingletonManager.MainTerminalController.GetTerminalInformation((int)TerminalType.TERMINAL_TWO); if (tInformation.isActivated == true) { return; } // INFO: terminal-two information = new TerminalInformation(); information.isActivated = true; information.isCollected = false; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_TWO, information); terminal = SingletonManager.MainTerminalController.GetTerminalByType(TerminalType.TERMINAL_TWO); displayState = terminal.m_terminal.transform.FindChild("display_2states"); displayState.GetComponent <Renderer>().material.SetTextureOffset("_MainTex", new Vector2(0.0f, 0.0f)); SingletonManager.MainTerminalController.SetTerminalState(TerminalType.TERMINAL_TWO, TerminalState.Unlocked); SingletonManager.XmlSave.Save(); } if (SingletonManager.MainTerminalController.GetTerminalState(TerminalType.MAIN_TERMINAL) == TerminalState.Unlocked) { TerminalInformation information = new TerminalInformation(); Terminals terminal; Transform displayState; // INFO: terminal-one information.isActivated = true; information.isCollected = true; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_ONE, information); terminal = SingletonManager.MainTerminalController.GetTerminalByType(TerminalType.TERMINAL_ONE); displayState = terminal.m_terminal.transform.FindChild("display_2states"); displayState.GetComponent <Renderer>().material.SetTextureOffset("_MainTex", new Vector2(0.5f, 0.0f)); SingletonManager.MainTerminalController.SetTerminalState(TerminalType.TERMINAL_ONE, TerminalState.Unlocked); SingletonManager.XmlSave.Save(); } }
public void SaveTerminalData() { CreateTerminalNode(); for (int i = 0; i < terminals.Length; i++) { TerminalNode terminal = new TerminalNode(GetXmlNode(terminals[i])); TerminalInformation terminalInformation = SingletonManager.MainTerminalController.GetTerminalInformation(i); terminal.SetActivated(terminalInformation.isActivated); terminal.SetCollected(terminalInformation.isCollected); } }
Tuple <TerminalInformation, TerminalInformation> CreateDepartureAndDestination() { var uri = new Uri("http://example.com/api"); var name = "terminalName"; var description = "terminalDescription"; var id_01 = Guid.NewGuid(); var id_02 = Guid.NewGuid(); var departure = TerminalInformation.Create(uri, id_01, name, description, TerminalStatus.Open); var destination = TerminalInformation.Create(uri, id_02, name, description, TerminalStatus.Open); return(new Tuple <TerminalInformation, TerminalInformation>(departure, destination)); }
public void Create_Fails_With_Exception_On_Fawlty_Parameters( bool addUri, bool id, string n, string d, string argument) { // arrange Uri address = addUri ? _uri : null; Guid Id = id ? _ID : Guid.Empty; var status = TerminalStatus.Closed; var message = $"{argument}: Does not have a non empty, not null and valid value"; // act var ex = Assert.Throws <ArgumentException>( () => TerminalInformation.Create(address, Id, n, d, status)); // assert ex.Message.Contains(argument); }
public void Create_Fills_All_Fields() { var _terminalUri = _uri; var _name = "Basic Terminal"; var _description = "Basic Terminal with no capabilities"; Guid _Id = _ID; TerminalStatus _status = TerminalStatus.Closed; // arrange // act, Assert var ci = TerminalInformation.Create(_terminalUri, _ID, _name, _description, _status); var now = DateTime.UtcNow; var status = Enum.GetName(_status); // assert Assert.Equal(_terminalUri, ci.Address); Assert.Equal(_name, ci.Name); Assert.Equal(_description, ci.Description); Assert.Equal(_Id, ci.ID); Assert.Equal(status, ci.Status); Assert.True(ci.InformationTimeStamp <= now); }
public override void Interact() { //base.Interact(); SingletonManager.AudioManager.Play(AudioType.INTERACT_TERMINAL); #if DEBUG Debug.Log("Interacting with Terminal: " + this.gameObject.name + " Type: " + m_terminalType.ToString()); #endif TerminalInformation information = new TerminalInformation(); switch (m_terminalType) { case TerminalType.MAIN_TERMINAL: break; case TerminalType.TERMINAL_ONE: break; case TerminalType.TERMINAL_TWO: if (SingletonManager.MainTerminalController.GetTerminalState(TerminalType.TERMINAL_TWO) == TerminalState.Unlocked) { // deactivate light // INFO: main-terminal information.isActivated = true; information.isCollected = true; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.MAIN_TERMINAL, information); // INFO: terminal-one information.isActivated = true; information.isCollected = false; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_ONE, information); // INFO: terminal-two information.isActivated = true; information.isCollected = true; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_TWO, information); // set update mainterminal screen and unlock it UpdateTerminalScreen(TerminalType.MAIN_TERMINAL); SingletonManager.MainTerminalController.SetTerminalState(TerminalType.MAIN_TERMINAL, TerminalState.Unlocked); SingletonManager.AudioManager.Play(AudioType.TERMINAL_COMPILE_SUCCESS); // update self UpdateTerminalScreen(TerminalType.TERMINAL_TWO); // enable terminal-one screen SingletonManager.MainTerminalController.SetTerminalState(TerminalType.TERMINAL_ONE, TerminalState.Unlocked); } break; case TerminalType.TERMINAL_THREE: // can only be activated when terminal_generator has been enabled! if (SingletonManager.MainTerminalController.GetTerminalState(TerminalType.TERMINAL_GENERATOR) == TerminalState.Unlocked) { // update self ==> player can exit now UpdateTerminalScreen(m_terminalType); SingletonManager.MainTerminalController.SetTerminalState(m_terminalType, TerminalState.Unlocked); SingletonManager.AudioManager.Play(AudioType.TERMINAL_COMPILE_SUCCESS); } break; case TerminalType.TERMINAL_GENERATOR: // unlockes access to terminal_three // generator can only be accessed if terminal_one is unlocked if (SingletonManager.MainTerminalController.GetTerminalState(TerminalType.TERMINAL_ONE) == TerminalState.Unlocked) { // update terminal3 UpdateTerminalScreen(TerminalType.TERMINAL_THREE); SingletonManager.MainTerminalController.SetTerminalState(TerminalType.TERMINAL_THREE, TerminalState.Unlocked); // update self UpdateTerminalScreen(m_terminalType); SingletonManager.MainTerminalController.SetTerminalState(m_terminalType, TerminalState.Unlocked); // INFO: terminal-three information.isActivated = true; information.isCollected = true; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_THREE, information); // INFO: terminal-generator information.isActivated = true; information.isCollected = true; SingletonManager.MainTerminalController.SetTerminalInformation((int)TerminalType.TERMINAL_GENERATOR, information); // todo m_ColorPuzzle.SetActive(true) nur wenn diese interaktion stattfand SingletonManager.MainTerminalController.EnablePuzzle(); SingletonManager.AudioManager.Play(AudioType.GENERATOR_ACTIVATED); SingletonManager.AudioManager.Play(AudioType.ENEMY_SHOUT); SingletonManager.Enemy.GetComponent <EnemyAiScript>().SpawnEnemyToGeneratorEntrance(); } break; } //SingletonManager.MainTerminalController.UpdateData(m_terminalType); // //Transform go = this.transform.FindChild("display_2states"); //go.GetComponent<Renderer>().material.SetTextureOffset("_MainTex", new Vector2(0.5f, 0.0f)); // Save Game SingletonManager.XmlSave.Save(); }
public void LoadTerminalData() { CreateTerminalNode(); GameObject.Find("SpawnPositions").GetComponent <EnemySpawningCheck>().ToggleRigidbodyColliders(true); GameObject.Find("SpawnPositions").SetActive(false); SingletonManager.Enemy.SetActive(true); for (int i = 0; i < terminals.Length; i++) { TerminalNode terminalNode = new TerminalNode(GetXmlNode(terminals[i])); TerminalInformation terminalInformation = new TerminalInformation(); terminalInformation.isActivated = terminalNode.GetActivated(); terminalInformation.isCollected = terminalNode.GetCollected(); SingletonManager.MainTerminalController.SetTerminalInformation(i, terminalInformation); // SingletonManager.MainTerminalController.SetTerminalState((TerminalType)i, TerminalState.Locked); Terminals terminal = SingletonManager.MainTerminalController.GetTerminalByType((TerminalType)i); Transform displayState = terminal.m_terminal.transform.FindChild("display_2states"); // update visual if (terminalInformation.isCollected) { if ((TerminalType)i == TerminalType.TERMINAL_ONE && terminalInformation.isCollected) { m_door = GameObject.Find("doors (animated) (2)"); m_door.GetComponent <DoorBehaviour>().ChangeDoorState(DoorBehaviour.DoorState.OPENING_STUCKED); } SingletonManager.MainTerminalController.SetTerminalState((TerminalType)i, TerminalState.Unlocked); displayState.GetComponent <Renderer>().material.SetTextureOffset("_MainTex", new Vector2(0.5f, 0.0f)); } else if (terminalInformation.isActivated) { SingletonManager.MainTerminalController.SetTerminalState((TerminalType)i, TerminalState.Unlocked); displayState.GetComponent <Renderer>().material.SetTextureOffset("_MainTex", new Vector2(0.0f, 0.0f)); if ((TerminalType)i == TerminalType.TERMINAL_GENERATOR) { m_door = GameObject.Find("door_simple_(animated) (9)"); m_door.GetComponent <DoorBehaviour>().ChangeDoorState(DoorBehaviour.DoorState.OPENING_STUCKED); } } else { SingletonManager.MainTerminalController.SetTerminalState((TerminalType)i, TerminalState.Locked); displayState.GetComponent <Renderer>().material.SetTextureOffset("_MainTex", new Vector2(0.5f, 0.5f)); } } Terminals t = SingletonManager.MainTerminalController.GetTerminalByType(TerminalType.TERMINAL_TWO); Transform d = t.m_terminal.transform.FindChild("display_2states"); if (SingletonManager.MainTerminalController.GetTerminalInformation((int)TerminalType.TERMINAL_TWO).isCollected == true) { d.GetComponent <Renderer>().material.SetTextureOffset("_MainTex", new Vector2(0.5f, 0.0f)); } else { d.GetComponent <Renderer>().material.SetTextureOffset("_MainTex", new Vector2(0.0f, 0.0f)); } }