Ejemplo n.º 1
0
    public static void ParseExercise(string text, Text exerciseTitleText, ExercisePanelContainer exercisePanelContainer, ShapePanelContainer shapePanelContainer)
    {
        shapePanelContainer.ClearAllPanels();
        exercisePanelContainer.ClearPanels(false);

        XmlDocument doc = new XmlDocument();

        doc.LoadXml(text);

        foreach (XmlNode node in doc.DocumentElement.ChildNodes)
        {
            if (node.Name.CompareTo("title") == 0)
            {
                exerciseTitleText.text = node.InnerText;
            }
            else if (node.Name.CompareTo("prompt") == 0)
            {
                ParsePrompt(node, exercisePanelContainer);
            }
            else if (node.Name.CompareTo("line") == 0)
            {
                ParseLine(node, shapePanelContainer);
            }
            else if (node.Name.CompareTo("parabola") == 0)
            {
                ParseParabola(node, shapePanelContainer);
            }
            else if (node.Name.CompareTo("sequence") == 0)
            {
                instance.StartCoroutine("ParseSequence", node);
            }
        }
    }
Ejemplo n.º 2
0
    static void ParseValuePrompt(XmlNode node, ExercisePanelContainer exercisePanelContainer)
    {
        float solution = 0f;

        XmlNode solutionAttribute = node.Attributes.GetNamedItem("solution");

        if (solutionAttribute != null)
        {
            solution = float.Parse(solutionAttribute.Value);
        }

        exercisePanelContainer.AddValuePromptPanel(node.InnerText, solution);
    }
Ejemplo n.º 3
0
    static void ParsePointPrompt(XmlNode node, ExercisePanelContainer exercisePanelContainer)
    {
        Vector2 solution = Vector2.zero;

        XmlNode solutionXAttribute = node.Attributes.GetNamedItem("solution_x");
        XmlNode solutionYAttribute = node.Attributes.GetNamedItem("solution_y");

        if (solutionXAttribute != null)
        {
            solution.x = float.Parse(solutionXAttribute.Value);
        }

        if (solutionYAttribute != null)
        {
            solution.y = float.Parse(solutionYAttribute.Value);
        }

        exercisePanelContainer.AddPointPromptPanel(node.InnerText, solution);
    }
Ejemplo n.º 4
0
    static void ParsePrompt(XmlNode node, ExercisePanelContainer exercisePanelContainer)
    {
        XmlNode typeAttribute = node.Attributes.GetNamedItem("type");

        if (typeAttribute != null)
        {
            if (typeAttribute.Value.CompareTo("text") == 0)
            {
                ParseTextPrompt(node, exercisePanelContainer);
            }
            else if (typeAttribute.Value.CompareTo("value") == 0)
            {
                ParseValuePrompt(node, exercisePanelContainer);
            }
            else if (typeAttribute.Value.CompareTo("point") == 0)
            {
                ParsePointPrompt(node, exercisePanelContainer);
            }
        }
    }
Ejemplo n.º 5
0
    void Start()
    {
        GameObject loadExerciseButtonGameObject = GameObject.Find("Load Exercise Button");

        exerciseTitleText = loadExerciseButtonGameObject.GetComponentInChildren <Text>();

        //internetTab = transform.Find("Panel").Find("Internet//Local Tab");
        //internetTab.gameObject.SetActive(true);

        GameObject shapePanelContainerGameObject = GameObject.Find("Shape Panel Container");

        shapePanelContainer = shapePanelContainerGameObject.GetComponent <ShapePanelContainer>();

        GameObject exercisePanelContainerGameObject = GameObject.Find("Exercise Panel Container");

        exercisePanelContainer = exercisePanelContainerGameObject.GetComponent <ExercisePanelContainer>();

        //RefreshList();

        // TODO: dirty hack but seems necessary for resolution-independent layout
        RectTransform rectTransform = GetComponent <RectTransform>();

        rectTransform.localScale = new Vector2(1f, 1f);
    }
Ejemplo n.º 6
0
 static void ParseTextPrompt(XmlNode node, ExercisePanelContainer exercisePanelContainer)
 {
     exercisePanelContainer.AddTextPromptPanel(node.InnerText);
 }