コード例 #1
0
    public IEnumerator AnimateFill(OALCall Call)
    {
        //Debug.Log("Filip, hrana: " + Call.RelationshipName); //Filip
        GameObject edge = classDiagram.FindEdge(Call.RelationshipName);

        if (edge != null)
        {
            if (edge.CompareTag("Generalization") || edge.CompareTag("Implements") || edge.CompareTag("Realisation"))
            {
                HighlightEdge(Call.RelationshipName, true);
                yield return(new WaitForSeconds(AnimationData.Instance.AnimSpeed / 2));
            }
            else
            {
                GameObject newFiller = Instantiate(LineFill);
                Fillers.Add(newFiller);
                newFiller.transform.position = classDiagram.graph.transform.GetChild(0).transform.position;
                newFiller.transform.SetParent(classDiagram.graph.transform);
                newFiller.transform.localScale = new Vector3(1, 1, 1);
                LineFiller lf   = newFiller.GetComponent <LineFiller>();
                bool       flip = false;
                if (classDiagram.FindOwnerOfRelation(/*Call.CallerClassName, Call.CalledClassName*/ Call.RelationshipName).Equals(Call.CalledClassName))
                {
                    flip = true;
                }
                yield return(lf.StartCoroutine(lf.AnimateFlow(edge.GetComponent <UILineRenderer>().Points, flip)));
            }
        }
    }
コード例 #2
0
    private void CreateLines()
    {
        for (int i = 0; i < lines.Count; i++)
        {
            string     word    = lines[i];
            LineFiller newLine = Instantiate(lineTemplate, this.transform);
            switch (word)
            {
            case "":
                newLine.BuildLine(garbagePerLine[i]);
                break;

            default:
                newLine.BuildLine(word.ToUpper(), garbagePerLine[i]);
                break;
            }
        }
    }
コード例 #3
0
    public IEnumerator AnimateFill(OALCall Call)
    {
        ScriptParser.Instance.HighlightEdge(my_index, script);
        GameObject newFiller = Instantiate(LineFill);

        Fillers.Add(newFiller);
        newFiller.transform.position = classDiagram.graph.transform.GetChild(0).transform.position;
        newFiller.transform.SetParent(classDiagram.graph.transform);
        newFiller.transform.localScale = new Vector3(1, 1, 1);
        LineFiller lf   = newFiller.GetComponent <LineFiller>();
        GameObject edge = classDiagram.FindEdge(Call.RelationshipName);

        if (edge != null)
        {
            bool flip = false;
            if (classDiagram.FindOwnerOfRelation(/*Call.CallerClassName, Call.CalledClassName*/ Call.RelationshipName).Equals(Call.CalledClassName))
            {
                flip = true;
            }
            yield return(lf.StartCoroutine(lf.AnimateFlow(edge.GetComponent <UILineRenderer>().Points, flip)));
        }
    }