// Update is called once per frame void Update() { // Items Dialog if (teddy.getColliderStateEnter() == true) { tState = true; } if (tState && Input.GetKeyDown(KeyCode.F)) { dialogManager.setDialog("teddy.txt"); } if (teddy.getColliderStateExit() == true) { tState = false; } if (wife.getColliderStateEnter() == true) { wState = true; } //Debug.Log ("This is wState: " + wState); if (wState && Input.GetKeyDown(KeyCode.F)) { dialogManager.setDialog("wife.txt"); //Debug.Log ("DialogManager finish"); } if (wife.getColliderStateExit() == true) { wState = false; } if (basketball.getColliderStateEnter() == true) { bState = true; } if (bState && Input.GetKeyDown(KeyCode.F)) { dialogManager.setDialog("basketball.txt"); } if (basketball.getColliderStateExit() == true) { bState = false; } if (armchair.getColliderStateEnter() == true) { aState = true; } if (aState && Input.GetKeyDown(KeyCode.F)) { dialogManager.setDialog("armchair.txt"); } if (armchair.getColliderStateExit() == true) { aState = false; } if (isActive) { dialogManager.setRoom("room_A"); player.setRoom("room_A"); switch (eventCounter) { case 0: player.freeze(); dialogManager.setDialog("thebeginning.txt"); eventCounter++; break; case 1: if (dialogManager.getDialogOutput() == "falling") { playerCamera.enabled = false; if (victimCamera != null) { victimCamera.enabled = true; } float tempLocX = victim.transform.position.x; float tempLocY = victim.transform.position.y; float tempSizeX = victim.transform.localScale.x; float tempSizeY = victim.transform.localScale.y; fallingState = true; if (fallingState) { if (victim.transform.position.y > -10.8f) { speed += 9.82f * Time.deltaTime; tempLocY = victim.transform.position.y - 0.1f * Time.deltaTime * speed; tempSizeX = victim.transform.localScale.x - 0.2f * Time.deltaTime; tempSizeY = victim.transform.localScale.y - 0.24f * Time.deltaTime; } victim.transform.position = new Vector3(tempLocX, tempLocY, 0f); victim.transform.localScale = new Vector3(tempSizeX, tempSizeY, 1f); if (victim.transform.position.y <= -10.8f) { victimSprite.enabled = false; } } } if (dialogManager.getDialogOutput() == "fallingEnd") { if (victimCamera != null) { victimCamera.enabled = false; } playerCamera.enabled = true; fallingState = false; Destroy(victim); } if (dialogManager.getDialogOutput() == "endingDialogue") { audio.GetComponent <AudioSource> ().Play(); player.unfreeze(); roomSolved = true; eventCounter++; } break; case 2: break; } if (roomSolved) { if (exitDoor.isLocked()) { File.Delete("dialog/room_A/ItemHolder.txt"); aDark = GameObject.Find("anfangsraumD").GetComponent <SpriteRenderer>(); aDark.enabled = true; r1Dark = GameObject.Find("raum1D").GetComponent <SpriteRenderer>(); r1Dark.enabled = false; endAndProceed(); } } } }
//-------------- UPDATE ------------------ void Update() { //---------- DEBUG NACHRICHTEN --------------------------------------------------- // Debug.Log("Speed: " + spieler.getSpeed()); //---------- Variabeln, die jedes Update überprüft werden müssen ----------------- playerPoint [0] = spieler.transform.position.x; playerPoint [1] = spieler.transform.position.y; parentName = box.transform.parent.name; //---------- Hören die Collider ab ----------------------------------------------- if (boxListener.getColliderStateEnter()) { colliderActiv = true; } else if (boxListener.getColliderStateExit()) { colliderActiv = false; //RESET switch (parentName) { case "R1_Treppe": break; case "AP_runterfallend": break; case "R3_untere_Treppe": break; case "R3_obere_Treppe": break; case "R4_Treppe": break; case "R5_Totenkopf_Gang": break; case "P_Totenkopf_Gang": break; case "P_Treppe": break; default: spieler.setSpeed(2f); realPlayer.transform.localScale = new Vector3(.05f, .05f, 1f); break; } } //---------- Distanz zum Collider im rechten Winkel ----------------------------- distance = getDistance(playerPoint, colliderPointL, colliderPointR); switch (parentName) { //-------------------- A RUNTERFALLEND ------------------------------------------------ case "AP_runterfallend": if (colliderActiv == true) { if (distance > 0) { //spieler.setSpeed (2f - distance); realPlayer.transform.localScale = new Vector3(.05f - 0.005f * distance, .05f - 0.005f * distance, 1f); } } break; //-------------------- R1 TREPPE ------------------------------------------------ case "R1_Treppe": if (colliderActiv == true) { if (distance > 0) { spieler.setSpeed(2f - (distance * 0.40f)); realPlayer.transform.localScale = new Vector3(.05f - 0.01f * distance, .05f - 0.01f * distance, 1f); } } break; //-------------------- R1R2 NORMALE GRÖßE ------------------------------------------ case "R1R2_normale_Größe": break; //-------------------- R2 BRÜCKE --------------------------------------------------- case "R2_Brücke": if (colliderActiv == true) { if (distance > 0 && distance <= box.size.y / 2) { //spielergröße bis zur mitte ansteigen lassen je nach abstand spieler.setSpeed(1f + distance / 2); realPlayer.transform.localScale = new Vector3(.05f + 0.01f * distance, .05f + 0.01f * distance, 1f); } else if (distance > 0) { //differenz zur mitte (höchster punkt) lässt spieler bis zum verlassen der brücke wieder kleiner werden tempDistance = (box.size.y / 2 - (distance - box.size.y / 2)); spieler.setSpeed(1f + tempDistance / 2); realPlayer.transform.localScale = new Vector3(.05f + 0.01f * tempDistance, .05f + 0.01f * tempDistance, 1f); } } break; //-------------------- R3 UNTERE TREPPE ----------------------------------------------- case "R3_untere_Treppe": if (colliderActiv == true) { if (distance > 0) { spieler.setSpeed(1.67f - (distance * 0.20f)); realPlayer.transform.localScale = new Vector3(.04f - 0.0045f * distance, .04f - 0.0045f * distance, 1f); } } break; //-------------------- R3 OBERE TREPPE ----------------------------------------------- case "R3_obere_Treppe": if (colliderActiv == true) { if (distance > 0) { spieler.setSpeed(2f - (distance * 0.14f)); realPlayer.transform.localScale = new Vector3(.05f - 0.004251f * distance, .05f - 0.004251f * distance, 1f); } } break; //-------------------- R3 BRÜCKE ----------------------------------------------------- case "R3_Brücke": if (colliderActiv == true) { if (distance > 0 && distance <= box.size.y / 2) { //spielergröße bis zur mitte ansteigen lassen je nach abstand spieler.setSpeed(1.5f + distance / 4); realPlayer.transform.localScale = new Vector3(.05f + 0.0033f * distance, .05f + 0.0033f * distance, 1f); } else if (distance > 0) { //differenz zur mitte (höchster punkt) lässt spieler bis zum verlassen der brücke wieder kleiner werden tempDistance = (box.size.y / 2 - (distance - box.size.y / 2)); spieler.setSpeed(1.5f + tempDistance / 4); realPlayer.transform.localScale = new Vector3(.05f + 0.0033f * tempDistance, .05f + 0.0033f * tempDistance, 1f); } } break; //-------------------- R4 TREPPE ----------------------------------------------------- case "R4_Treppe": if (colliderActiv == true) { if (distance > 0) { spieler.setSpeed(2f + (distance * 0.33f)); realPlayer.transform.localScale = new Vector3(.05f + 0.01f * distance, .05f + 0.01f * distance, 1f); } } break; //-------------------- R5 TOTENKOPF --------------------------------------------------- case "R5_Totenkopf_Gang": if (colliderActiv == true) { if (distance > 0) { spieler.setSpeed(2f - distance * .33f); realPlayer.transform.localScale = new Vector3(.05f - 0.00825f * distance, .05f - 0.00825f * distance, 1f); } } break; //-------------------- P TOTENKOPF --------------------------------------------------- case "P_Totenkopf_Gang": if (colliderActiv == true) { if (distance > 0) { spieler.setSpeed(.8f + distance * .8975f); realPlayer.transform.localScale = new Vector3(.02f + 0.02244f * distance, .02f + 0.02244f * distance, 1f); } } break; //-------------------- P TREPPE ------------------------------------------------------ case "P_Treppe": if (colliderActiv == true) { if (distance > 0) { spieler.setSpeed(3f - distance * .8857f); realPlayer.transform.localScale = new Vector3(.075f - 0.02214f * distance, .075f - 0.02214f * distance, 1f); } } break; //-------------------- DEFAULT ------------------------------------------------------- default: break; } }