Esempio n. 1
0
    public void moveTube(int from, int to)
    {
        if (from == 10) //tube 10 is the exit tube
        {
            Debug.Log("Can't start with exit queue, shouldn't be reached.");
        }
        if (from == to) //check the doubletap.
        {
            Debug.Log("Doubled up move, check which message it is..");
        }

        else if (deskQueues[from - 1].Count() > 0)          //Do a quick check to make sure the queue isn't empty.
        {
            tubeMessage t = deskQueues[from - 1].Dequeue(); //Get the message, remove it from the deskqueue

            t.deskNum = to;                                 //set the new desknumber
            if (to == 10)                                   //Check to see if it's exiting the system.
            {
                exitQueue.Enqueue(t);                       //Add it to the exit pipe.
            }
            else
            {
                deskQueues[to - 1].Enqueue(t); //Enqueue it in the new desk.
            }
            Debug.Log("Message moved from " + from + " to " + to);
        }
        else
        {
            Debug.Log("No message in desk" + from); //If no message was there, notify.
        }
    }
Esempio n. 2
0
    public Queue <tubeMessage> exitQueue  = new Queue <tubeMessage>(); //ExitQueue stores messages right before they are removed from the system.
    // Use this for initialization

    void Start()
    {
        tubeMessage t = new tubeMessage(); //Test code to add some messages, comment out in end.

        for (int i = 1; i < 10; i++)
        {
            addMessage(t);
        }
    }
Esempio n. 3
0
 void checkMessage(tubeMessage m)
 {
     if (m.currUnstampedColor() == answerColor)
     {
         m.stamp();
         speechBubble.setCheck();
     }
     else
     {
         speechBubble.setCross();
     }
     currState = state.result;
 }
Esempio n. 4
0
 public void Enqueue(tubeMessage t)
 {
     messages.Enqueue(t); //Wrappers for functions
 }
Esempio n. 5
0
 void addMessage(tubeMessage t)
 {
     allMessages.Add(t);       //Add a messageTube to the main list.
     deskQueues[4].Enqueue(t); //Send the tube to desk 5, center routing desk.
 }
Esempio n. 6
0
 public void getMessage(tubeMessage m)
 {
     currMessage = m;
     speechBubble.setExclamation();
     currState = state.answering;
 }