private void OnTriggerEnter(Collider other) { if (toasterSlotOccupied == null && (other.transform.gameObject.name == "ToasterSlot1" || other.transform.gameObject.name == "ToasterSlot2")) { if (other.transform.parent.Find("Fire(Clone)") == null) { handscript.DropHeld(); toasterSlotOccupied = other.transform.gameObject; other.transform.localPosition = new Vector3(other.transform.localPosition.x, 0, 0); this.transform.SetParent(toasterSlotOccupied.transform); this.transform.localPosition = new Vector3(0.3f, 0f, 0); this.transform.localRotation = Quaternion.identity; this.GetComponent <MeshCollider>().isTrigger = true; this.GetComponent <Rigidbody>().isKinematic = true; this.gameObject.layer = 0; //not grabbable bagelscript.numCookingBagels += 1; print("Entered a toast! Total: " + bagelscript.numCookingBagels); } else { //oh no the toaster is on fire } } }
void Blackout() { blackoutCounter++; blackoutCanvas.SetActive(true); handscript.DropHeld(); bagelHalf1.GetComponent <BagelHalf>().ForceExit(); bagelHalf2.GetComponent <BagelHalf>().ForceExit(); completion = 0; movescript.movementAllowed = false; Time.timeScale = 20; //gives objects quick time to "settle". (quick fix) StartCoroutine(wakeMeUp()); timer = 100; switch (blackoutCounter) { case 1: SwapObjects(toaster, flowerpot); Pickup(flowerpot); SwapObjects(bagelHalf1, knife); PlaceObject(bagelHalf2, new Vector3(3.7f, 2.5f, 3)); SetOnFire(toaster); break; case 2: MergeBagel(); PlaceObject(toaster, new Vector3(3.7f, 2.5f, 1)); PlaceObject(knife, new Vector3(-18, 0, -2)); SetOnFire(knife); break; case 3: SplitBagel(); PlaceObject(bagelHalf1, new Vector3(1.9f, 1.5f, 2.7f)); PlaceObject(flowerpot, new Vector3(-4, 0.5f, -9)); mainLight.enabled = false; PlaceObject(bagelHalf2, new Vector3(5.13f, 3.63f, 6.96f)); bagelHalf2.transform.rotation = Quaternion.Euler(0, 0, -90); bagelHalf2.GetComponent <Rigidbody>().isKinematic = true; //done: turn off lights, give the man a bagel face break; case 4: PlaceObject(bagelHalf1, new Vector3(-2.59f, 2.37f, 10.03f)); for (int i = 0; i < 20; i++) { CloneObject(miscChair, new Vector3(-4, 5, -13)); CloneObject(miscChair1, new Vector3(-4, 5, -13)); } MergeBagel(); PlaceObject(bagel, new Vector3(-11.46f, 3.3f, 9.6f)); PlaceObject(knife, new Vector3(-20.9f, 1.3f, -3.2f)); PlaceObject(toaster, new Vector3(-2.4f, 2.7f, 9.6f)); Extinguish(knife); Extinguish(toaster); extinguisher.SetActive(false); flowerpot.SetActive(false); miscStarbucks.SetActive(false); miscStarbucks1.SetActive(false); miscStarbucks2.SetActive(false); miscFlowerpot.SetActive(false); miscChair.SetActive(false); miscChair1.SetActive(false); miscMug.SetActive(false); break; default: //no time limit for final phase, (maybe remove timer from UI?) destroyAllClones(); extinguisher.SetActive(true); flowerpot.SetActive(true); miscStarbucks.SetActive(true); miscStarbucks1.SetActive(true); miscStarbucks2.SetActive(true); miscFlowerpot.SetActive(true); miscChair.SetActive(true); miscChair1.SetActive(true); miscMug.SetActive(true); MergeBagel(); PlaceObject(bagel, new Vector3(-1, 3f, 1f)); PlaceObject(knife, new Vector3(-1f, 3f, 4f)); Extinguish(bagel); Extinguish(toaster); Extinguish(knife); SetOnFire(extinguisher); SetOnFire(flowerpot); SetOnFire(miscStarbucks); SetOnFire(miscStarbucks1); SetOnFire(miscStarbucks2); SetOnFire(miscFlowerpot); SetOnFire(miscChair); SetOnFire(miscChair1); SetOnFire(miscMug); mainLight.intensity = mainLight.intensity * 0.4f; //todone: set more things on fire break; } }