示例#1
0
    private void AccessNode(int nodeindex)
    {
        currentChoices.Clear();
        //Debug.Log ("Seuraavaksi halutaan node " + nodeindex);
        playerInteraction = false;
        currentEvent = eventToProcess.getEventNode(nodeindex);
        //Debug.Log (currentEvent.ToString ());
        nodeText = currentEvent.getEventText ();
        if (currentEvent.checkChoices() != false)
        {

            currentChoices = currentEvent.getEventChoices();
            //Debug.Log ("Choiceja ladattiin " + currentChoices.Count);

        }

        if (currentEvent.gotTriggers() != false)
        {

            List<eventTrigger> tempTriggers = currentEvent.getTriggers ();
            foreach (eventTrigger t in tempTriggers)
            {

                ((TriggerProcessor)GameObject.Find ("TriggerProcessor").GetComponent ("TriggerProcessor")).addTriggerToProcess (t);

            }
        }

        playerInteraction = true;
    }
示例#2
0
    public void ProcessEvent(WinterEvent eventToProcess)
    {
        //Debug.Log (eventToProcess.ToString());
        this.eventToProcess = eventToProcess;
        eventName = eventToProcess.getEventName();
        currentEvent = eventToProcess.getEventNode(0);
        nodeText = currentEvent.getEventText();
        if (currentEvent.checkChoices() != false)
        {

            currentChoices = currentEvent.getEventChoices();
            //Debug.Log ("Choiceja ladattiin " + currentChoices.Count);

        }

        areYouProcessing = true;
    }
示例#3
0
    public WinterEvent parseXMLToEvent(string fileName)
    {
        tempChoices.Clear();

        //fileName += ".xml";

        doc.LoadXml (fileName);

        //XmlNodeList readNodeList = doc.DocumentElement.SelectNodes ("winterevent/eventdata/data");
        XmlNode eventInfo = doc.DocumentElement.SelectSingleNode ("/winterevent/eventdata/data");

        tempEvent = new WinterEvent();

        tempEvent.setEventID(eventInfo.Attributes["id"].Value);
        tempEvent.setEventName(eventInfo.Attributes["eventname"].Value);
        tempEvent.setEventType (eventInfo.Attributes["type"].Value);

        List<eventNode> tempNodes = new List<eventNode>();

        XmlNodeList readNodeList = doc.DocumentElement.SelectNodes("/winterevent/event/node");

        foreach (XmlNode n in readNodeList)
        {
            tempNode = new eventNode();
            //Debug.Log("ID on: " + System.Convert.ToInt32(n.Attributes["id"].Value));

            tempNode.setEventText(n.SelectSingleNode ("say").InnerText);
            tempNode.setNodeID(System.Convert.ToInt32(n.Attributes["id"].Value));

            XmlNodeList choices = n.SelectNodes ("line");

            if (choices.Count != 0)
            {
                foreach (XmlNode c in choices)
                {

                    tempChoice = new eventChoice();

                    if (c.Attributes["positive"] != null)
                    {

                        tempChoice.setPositiveDest(System.Convert.ToInt32 (c.Attributes["positive"].Value));
                        tempChoice.setPositiveChance (float.Parse (c.Attributes["positivechance"].Value));

                    }

                        tempChoice.setDestination(System.Convert.ToInt32(c.Attributes["target"].Value));
                        tempChoice.setDescription(c.InnerText);

                    tempNode.addChoice (tempChoice);

                }
            }

            XmlNodeList triggers = n.SelectNodes ("trigger");

            if (triggers.Count != 0)
            {

                foreach (XmlNode t in triggers)
                {

                eventTrigger tempTrigger = new eventTrigger();
                tempTrigger.setEventType(t.Attributes["type"].Value);
                tempTrigger.setArgument (t.Attributes["argument"].Value);
                tempTrigger.setAmount(System.Convert.ToInt32 (t.Attributes["amount"].Value));

                tempNode.addTrigger (tempTrigger);

                }
            }

            tempEvent.addEventNode(tempNode);

        }

        return tempEvent;
    }
示例#4
0
 public void addEventNode(eventNode node)
 {
     eventNodes.Add(node);
 }