public void mergeDoors(LockDoor otherdoor) { Destroy(otherdoor.Lock); otherdoor.Lock = null; foreach (GameObject doorprt in otherdoor.Doorparts) { Doorparts.Add(doorprt); } otherdoor.collide.enabled = false; SetID(otherdoor.GetID()); otherdoor.enabled = false; Vector3 lockPos = Vector3.zero; foreach (GameObject doorprt in Doorparts) { lockPos += doorprt.transform.position; } lockPos /= Doorparts.Count; collide.center = lockPos - transform.position; collide.size = new Vector3(0.4f, Doorparts.Count + 0.2f, 1f); Lock.transform.position = lockPos; }
public void control() { _room = GameObject.Find("PickUp").GetComponent <LoadRoom> ().room; if (GameObject.Find("Partner")) { _partner = GameObject.Find("Partner"); } if (_room.Equals("Hall") && !_ini) { Destroy(_partner); _door = GameObject.Find("Door").GetComponent <LockDoor> (); _door.openDoor(); } if (_room.Equals("Livingroom") && _endDinner) { //Camera.main.GetComponent<CameraController> (); //b.SetActive (true); _partner.transform.position = new Vector3(0, -3.82F, 0); //_partner.GetComponent<ConversationLauncher> ().active = true; //StartCoroutine(WaitAndDestroy()); } if (_room.Equals("Main_bedroom") && _sleep) { GameObject.Find("maleta").transform.position = new Vector3(-1.29F, -1.61F, 0F); GameObject.Find("Phone").transform.position = new Vector3(0, 0, 0); } }
private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "LockDoor" && isMaster) { LockDoor otherDoor = collision.gameObject.GetComponent <LockDoor>(); otherDoor.changeMaster(false); changeMaster(otherDoor); mergeDoors(otherDoor); } }
// No jumping on collision. // Doubles for allowing walljumps in the future? Maybe? private void OnCollisionEnter(Collision collision) { if (collision.transform.position[1] < transform.position[1] + 1) { jumping = false; } if (collision.gameObject.tag == "MonsterSword") { damage(collision.gameObject.GetComponent <sword>().damage); } else if (collision.gameObject.tag == "LockDoor") { LockDoor doorscript = collision.gameObject.GetComponent <LockDoor>(); if (doorscript.enabled && doorscript.closed && numkeys > 0) { GetKey(-1); doorscript.OpenDoor(); } } }
public void Handle(LockDoor command) { }
void RestoreGame() { string p = PlayerPrefs.GetString("GameData_0"); if (p != null && p.Length > 0 && player != null) { s = JsonUtility.FromJson <SerializeClass>(p); if (s != null) { Vector3 position = new Vector3(); if (levelToLoad == 1) { position.x = s.x; position.y = s.y; position.z = s.z; } if (levelToLoad == 2) { position.x = s.x2; position.y = s.y2; position.z = s.z2; } if (levelToLoad == 3) { position.x = s.x3; position.y = s.y3; position.z = s.z3; } if (levelToLoad == 4) { //position.x = s.x4; //position.y = s.y4; //position.z = s.z4; position.x = 43.51358f; position.y = -31.35163f; position.z = 12.8632f; } player.transform.position = position; } } if (p != null && p.Length > 0 && badges1 != null && badges2 != null) { if (s != null) { script1 = badges1.GetComponent <Badges>(); script2 = badges2.GetComponent <Badges>(); if (levelToLoad == 1) { script1.SetBadges(s.badges1_1); script2.SetBadges(s.badges1_2); } if (levelToLoad == 2) { script1.SetBadges(s.badges2_1); script2.SetBadges(s.badges2_2); } if (levelToLoad == 3) { script1.SetBadges(s.badges3_1); script2.SetBadges(s.badges3_2); } if (script1.badgeNumber >= badge1Requirement && script2.badgeNumber >= badge2Requirement) { LockDoor openDoor = lockDoor.GetComponent <LockDoor>(); openDoor.Unlock(); } } } }