예제 #1
0
 void ToggleCables()
 {
     foreach (Transform CableBox in CurrentButton.transform)
     {
         foreach (Transform Cable in CableBox.transform)
         {
             Cable.GetComponent <CableManager>().TurnON();
         }
     }
 }
예제 #2
0
    void UpdateCables()
    {
        foreach (Transform CableBox in CurrentButton.transform)
        {
            foreach (Transform Cable in CableBox.transform)
            {
                Cable.GetComponent <CableManager>().TurnON();
            }
        }

        foreach (Transform CableBox in LastButton.transform)
        {
            foreach (Transform Cable in CableBox.transform)
            {
                Cable.GetComponent <CableManager>().TurnOFF();
            }
        }
    }
예제 #3
0
    public void Cut(Cable cable)
    {
        Material m = Instantiate(cable.GetComponent <Renderer>().material) as Material;

        GameObject  cut_inst = Instantiate(cutCables[Random.Range(0, cutCables.Count)], transform);
        AudioSource asource  = cut_inst.AddComponent <AudioSource> ();

        asource.clip         = cutSound;
        asource.spatialBlend = 1f;
        asource.Play();
        cut_inst.GetComponent <Renderer>().material = m;
        cut_inst.transform.localPosition            = cable.transform.localPosition;

        string cut_color = CableColor(cable.gameObject);

        print("cut : " + cut_color);

        if (cut_color != to_cut_color)
        {
            //Failed! Trigger alarm!
            failed = true;
            cablesOnFail.Invoke(this);
        }
        else
        {
            cable_instances.Remove(cable_instances.Find(p => p.inst == cable.gameObject));
            UpdatePresentColors();

            if (!present_colors.Contains(to_cut_color) && !failed)
            {
                //All cable Cut! Sucess
                GetComponent <AudioSource>().Play();
                cablesOnSucess.Invoke(this);
            }
        }

        DestroyObject(cable.gameObject);
    }