Hi there,
As means of explaining my scene, I have two cubes (cube1 and cube2), a fountain particle system and audio for it. Cube1 is a trigger to allow cube2 to work, so cube2 will only trigger the fountain AFTER cube1 has been collided with, even if you walk into cube2 prior.
This works very well but the audio plays whenever you collide with cube2. Am I able to do something similar to the particles? Can I script the audio to only start once you collide with cube2 only after you have collided with cube1??
Hope this makes sense, my code is:
var fountain: GameObject;
var splash: GameObject;
var enable: boolean = false; // boolean flag: enable trigger 1 when true
function Awake(){
fountain.particleEmitter.emit = false;
splash.particleEmitter.emit = false;
}
// function called by trigger2 via SendMessage:
function EnableTrigger(onOff: boolean){
enable = onOff;
}
function OnTriggerEnter(trigger: Collider){
if (enable){
fountain.particleEmitter.emit = true;
splash.particleEmitter.emit = true;
}
}
function OnTriggerExit(trigger:Collider){
if (enable){
yield WaitForSeconds(2);
fountain.particleEmitter.emit = false;
yield WaitForSeconds(2);
splash.particleEmitter.emit = false;
}
}
Code for Trigger2:
var trigger1: GameObject; // drag trigger1 object here
var trigger2: GameObject;
var trigger3: GameObject;
var trigger4: GameObject;
var trigger5: GameObject;
var trigger6: GameObject;
var trigger7: GameObject;
var trigger8: GameObject;
var trigger9: GameObject;
function OnTriggerEnter(other: Collider){
// call EnableTrigger(true) in trigger 1
trigger1.SendMessage("EnableTrigger", true);
trigger2.SendMessage("EnableTrigger", true);
trigger3.SendMessage("EnableTrigger", true);
trigger4.SendMessage("EnableTrigger", true);
trigger5.SendMessage("EnableTrigger", true);
trigger6.SendMessage("EnableTrigger", true);
trigger7.SendMessage("EnableTrigger", true);
trigger8.SendMessage("EnableTrigger", true);
trigger9.SendMessage("EnableTrigger", true);
}