Change only prefab to change all objects
In my level is more than 50 prefab objects and I want to change their trigger in runtime, but I do not want to do it by public array because of too much objects. So can I change only one object to change all? Below is script what I have:
private Renderer PlayerRend;
public Material PlayerBlue;
public Material PlayerYellow;
public Material PlayerGreen;
public Collider2D YellowCubes;
public Collider2D GreenCubes;
void ChangeColorAndTrigger()
{
// GREEN
if (Input.GetKey(KeyCode.Q))
{
PlayerRend.material = PlayerGreen;
GreenCubes.isTrigger = false;
YellowCubes.isTrigger = true;
}
// YELLOW
if (Input.GetKey(KeyCode.E))
{
PlayerRend.material = PlayerYellow;
GreenCubes.isTrigger = true;
YellowCubes.isTrigger = false;
}
// BLUE
if (Input.GetKey(KeyCode.X))
{
PlayerRend.material = PlayerBlue;
GreenCubes.isTrigger = true;
YellowCubes.isTrigger = true;
}
}
// Use this for initialization
void Start () {
PlayerRend = GetComponent<Renderer>();
PlayerRend.material = PlayerBlue;
GreenCubes.isTrigger = true;
YellowCubes.isTrigger = true;
}
// Update is called once per frame
void Update () {
ChangeColorAndTrigger();
}
Comment