Exemple #1
0
    public void ReceiveMessageFromQueueDiscreetly(GameObject sender)
    {
        MarkerFunctionality       mrkrf = GetComponent <MarkerFunctionality>();
        MessageQueueFunctionality mqf   = messageQueueBox.GetComponent <MessageQueueFunctionality>();

        GameObject consumedMessage = messageQueueBox.GetComponent <MessageQueueFunctionality>().DequeueFromMsgQueue(); //Consume message from queue

        //check queue status and do marking logic
        if (mrkrf.status == 1)//Message marked
        {
            mrkrf.Escalate();
        }
        else if (mrkrf.status == -1) //Nothing marked thus far
        {
            if (mqf.messageQueue.Count > 0)
            {
                if (mqf.messageQueue.Peek().GetComponent <MessageFunctionality>().representationHolding.index != -1)
                {
                    //marked
                    mrkrf.MessageMark(mqf.messageQueue.Peek().GetComponent <MessageFunctionality>().representationHolding);
                }
            }
        }

        Debug.Log("Message " + consumedMessage.ToString() + " accepted by " + this.gameObject.ToString());
        Destroy(consumedMessage);
    }
Exemple #2
0
    public void QueryState()
    {
        if (CheckLaserPointer())
        {
            bool toggle = laserPointedActor.gameObject.GetComponent <ActorFunctionality>().ToggleState();

            //Now, we also show the message queue box information
            GameObject mbox = laserPointedActor.gameObject.GetComponent <ActorFunctionality>().messageQueueBox;
            MessageQueueFunctionality mQueueFunc = mbox.GetComponent <MessageQueueFunctionality>();
            mQueueFunc.ToggleMsgQueueInfo();

            StateRequest sr = new StateRequest(laserPointedActor.name, toggle);
            NetworkInterface.HandleRequest(sr);
        }
    }