Skip to content

Instantly share code, notes, and snippets.

@ZeredaGames
Last active December 27, 2015 06:19
Show Gist options
  • Save ZeredaGames/ab9f597095b58e6e36c0 to your computer and use it in GitHub Desktop.
Save ZeredaGames/ab9f597095b58e6e36c0 to your computer and use it in GitHub Desktop.
Is an Action Interface Controller
#pragma strict
class ReceiverItem {
public var receiver : GameObject;
private var action : String = "OnSignal";
private var delay : float=0f;
public function SendWithDelay (sender : MonoBehaviour) {
yield WaitForSeconds (delay);
if (receiver)
receiver.SendMessage (action);
Debug.Log("Reciever: "+receiver);
else
Debug.LogWarning ("No receiver of signal \""+action+"\" on object "+sender.name+
" <i>("+sender.GetType().Name+")</i>", sender);
}
}
class SignalSender
{
public var receivers : ReceiverItem[];
private var onlyOnce : boolean= false;
private var hasFired : boolean = false;
public function SendSignals (sender : MonoBehaviour) {
if (hasFired == false || onlyOnce == false) {
for (var i = 0; i < receivers.length; i++) {
sender.StartCoroutine (receivers[i].SendWithDelay(sender));
Debug.Log("Recievers: "+receivers);
}
hasFired = true;
Debug.Log("Sender hasFired: "+hasFired);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment