public IpcResponse(string messageId, StatusBlock statusBlock, string responseData)
 {
     MessageId    = messageId;
     StatusBlock  = statusBlock;
     ResponseData = responseData;
 }
    public void initFromProto(ConversationNode proto)
    {
        alternatives = new Dictionary <long, Alternative>();
        blocks       = new List <StatusBlock>();
        if (proto.Name != "null")
        {
            ID = proto.Name;
        }
        else
        {
            ID = "" + uid;
        }

        if (proto.Text != "null")
        {
            text = proto.Text;
        }
        else
        {
            text = "";
        }

        foreach (Connection c in proto.ConnectionsList)
        {
            List <List <StatusCheckable> > reqs = new List <List <StatusCheckable> >();

            foreach (RequirementSet block in c.RequirementSetsList)
            {
                StatusCheckableFactory factory = new StatusCheckableFactory();
                List <StatusCheckable> checks  = new List <StatusCheckable>();
                foreach (StatusCheckableProtocol p in block.RequirementsList)
                {
                    StatusCheckable check = factory.getStatusCheckableFromProtocol(p);
                    check.setActive();
                    checks.Add(check);
                }
                reqs.Add(checks);
            }

            Alternative alt = new Alternative(c.NodeId, c.Text, reqs);

            if (c.HasPriority)
            {
                alt.setPriority(c.Priority);
            }
            else
            {
                alt.setPriority(0);
            }
            alternatives.Add(alt.getUID(), alt);
        }

        foreach (StatusBlockProtocol s in proto.BlocksList)
        {
            Debug.Log("LOADING: " + this.text);
            StatusBlock block = new StatusBlock(s);

            foreach (StatusCheckable check in block.getStatuses())
            {
                check.setActive();
            }

            blocks.Add(block);
        }

        strIdMap.Add(ID, this);
    }