コード例 #1
0
    // sends a message
    // method is used from other instances to tell that an audio event has occured
    public void SendSpawnerMessageForDispatch(string message)
    {
        SpawnerMessage msg = new SpawnerMessage(); // creates a new spanwer message

        msg.message = message;                     // the message
        spawnerMessages.Enqueue(msg);              // add this message to queue for dispatch
    }
コード例 #2
0
 // Update is called once per frame
 void Update()
 {
     // if messages queue has message(s) for dispatch
     while (spawnerMessages.Count != 0)
     {
         // take the first message added to the queue
         SpawnerMessage msg = spawnerMessages.Dequeue();
         try
         {
             // send the message to the handlers that are interested
             foreach (SpawnersMessageHandler messageHandler in spanwnersMessageHandlers)
             {
                 messageHandler(msg.message);
             }
         }
         catch
         {
             spawnerMessages.Enqueue(msg);
         }
     }
 }