void ToggleCables() { foreach (Transform CableBox in CurrentButton.transform) { foreach (Transform Cable in CableBox.transform) { Cable.GetComponent <CableManager>().TurnON(); } } }
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(); } } }
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); }