//-------------- 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; } }
// Update is called once per frame void Update() { if (mudSwitch.isSwitchedOn()) { mud.fill(); colliderE.enabled = false; } if (!mudSwitch.isSwitchedOn()) { mud.drain(); colliderE.enabled = true; //audio.GetComponent<AudioSource> ().Stop (); } if (mud.isFilling()) { player.setSpeed(drainedPlayerSpeed(player.getX(), player.getY(), defaultPlayerSpeed)); audio.GetComponent <AudioSource> ().Play(); } if (isActive) { dialogManager.setRoom("room_4"); player.setRoom("room_4"); switch (eventCounter) { case 0: if (mudSwitch.isSwitchedOn()) { eventCounter++; } break; case 1: exitDoor.setIsLocked(); //exitDoor locked=false!! (unlock) roomSolved = true; eventCounter++; break; case 2: if (distanceToEscape > 10 && distanceToEscape < 15) { dialogManager.setDialog("dialog1.txt"); eventCounter++; } break; case 3: if (distanceToEscape > 7 && distanceToEscape < 10) { dialogManager.setDialog("dialog2.txt"); eventCounter++; } break; case 4: if (distanceToEscape > 5 && distanceToEscape < 7) { dialogManager.setDialog("dialog3.txt"); eventCounter++; } break; case 5: if (distanceToEscape > 4 && distanceToEscape < 5) { dialogManager.setDialog("dialog4.txt"); eventCounter++; } break; case 6: if (distanceToEscape > 3 && distanceToEscape < 4) { dialogManager.setDialog("dialog5.txt"); eventCounter++; } break; case 7: break; } if (roomSolved) { if (exitDoor.isLocked()) { //GetComponent<AudioSource> ().enabled = false; player.setSpeed(defaultPlayerSpeed); File.Delete("dialog/room_4/ItemHolder.txt"); r4Dark = GameObject.Find("raum4D").GetComponent <SpriteRenderer>(); r4Dark.enabled = true; r5Dark = GameObject.Find("raum5D").GetComponent <SpriteRenderer>(); r5Dark.enabled = false; endAndProceed(); } } } }
// Update is called once per frame void Update() { if (isActive) { dialogManager.setRoom("room_3"); player.setRoom("room_3"); switch (eventCounter) { case 0: if (event1.getColliderStateEnter()) { player.freeze(); if (player.getFirstItem() != null) { //Debug.Log ("FirstIsntHere"); dialogManager.setDialog("someitems.txt"); firstTime = false; } else if (firstTime) { dialogManager.setDialog("noitems.txt"); } else { dialogManager.setDialog("lostitems.txt"); eventCounter++; } } if (dialogManager.getDialogOutput() == "falling") { collider.enabled = false; if (timeCounter < 2f) { tempPlanken = planken.transform.position.y + Time.deltaTime * 2f; planken.transform.position = new Vector3(planken.transform.position.x, tempPlanken, planken.transform.position.z); } if (timeCounter > .5f && (spieler.transform.position.y > 14)) { tempPlanken = spieler.transform.position.y - Time.deltaTime * 1f; spieler.transform.position = new Vector3(spieler.transform.position.x, tempPlanken, spieler.transform.position.z); tempPlanken = spieler.transform.localScale.y - 0.05f * Time.deltaTime; spieler.transform.localScale = new Vector3(tempPlanken, tempPlanken, 1f); } if (timeCounter > 1.5f && timeCounter < 3.5f) { tempPlanken = planken.transform.position.y - Time.deltaTime * 2f; planken.transform.position = new Vector3(planken.transform.position.x, tempPlanken, planken.transform.position.z); } else if (timeCounter > 3.5f) { spieler.transform.localScale = new Vector3(0.025f, 0.025f, 1f); timeCounter = 0f; player.setSpeed(1f); collider.enabled = true; //player.unfreeze (); dialogManager.setDialogOutputTo(""); } timeCounter += Time.deltaTime; } if (dialogManager.getDialogOutput() == "delete") { player.deleteIventory(); } if (dialogManager.getDialogOutput() == "endDialog") { //Debug.Log ("endDialog = true"); endDialog = true; } if (dialogManager.getDialogOutput() == "unfreeze") { player.unfreeze(); dialogManager.setDialogOutputTo(""); } if (dialogManager.isActive() == false && endDialog) { eventCounter++; } break; case 1: player.unfreeze(); eventCounter++; break; case 2: eventCounter++; break; case 3: exitDoor.setIsLocked(); //exitDoor locked=false!! (unlock) roomSolved = true; eventCounter++; break; case 4: break; } if (roomSolved) { if (exitDoor.isLocked()) { File.Delete("dialog/room_3/ItemHolder.txt"); r4Dark = GameObject.Find("raum4D").GetComponent <SpriteRenderer>(); r4Dark.enabled = false; r3Dark = GameObject.Find("raum3D").GetComponent <SpriteRenderer>(); r3Dark.enabled = true; //audio.GetComponent<AudioSource> ().Stop (); endAndProceed(); } } } }