예제 #1
0
 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;
        }
    }