예제 #1
0
        public void alternaConectado()
        {
            if (trechoSelecionado1 != null && trechoSelecionado2 != null)
            {
                bool relacionar = !(trechoSelecionado1.pais.Contains(trechoSelecionado2.balaoId) ||
                                     trechoSelecionado2.pais.Contains(trechoSelecionado1.balaoId));

                var t1 = trechoSelecionado1.GetComponent<RectTransform>();
                var t2 = trechoSelecionado2.GetComponent<RectTransform>();

                if (!relacionar)
                {
                    trechoSelecionado1.removerPai(trechoSelecionado2);
                    trechoSelecionado2.removerPai(trechoSelecionado1);
                    // var conexao = ConnectionManager.FindConnection(t1, t2);
                    // ConnectionManager.RemoveConnection(conexao);
                    // DestroyImmediate(conexao);
                }
                else
                {
                    trechoSelecionado2.adicionaPai(trechoSelecionado1);
                    // ConnectionManager.CreateConnection(t1, t2);
                }

                atualizaConexoes();
            }
        }
예제 #2
0
        public void montarDiagrama()
        {
            if (historia == null || historia.trechos == null)
                return;
            limpaDiagrama();
            for (int i = 0; i < historia.trechos.Length; i++)
            {
                var trecho = historia.trechos[i];
                BalaoTrecho balao = novoBalaoTrecho();
                balao.trecho = trecho;
                balao.condicao.text = trecho.textoCondicao;
                balao.resumo.text = trecho.getResumoStr();
                var transf = balao.GetComponent<RectTransform>();

                Vector2 novaPosicao = transf.localPosition;
                novaPosicao.x = trecho.representacao.posicao.x;
                novaPosicao.y = trecho.representacao.posicao.y;

                transf.localPosition = novaPosicao;
            }
            atualizaConexoes();
        }
예제 #3
0
        public void criarBalaoTrecho()
        {
            BalaoTrecho balao = novoBalaoTrecho();
            var transf = balao.GetComponent<RectTransform>();
            Vector2 novaPosicao = transf.localPosition;

            var trechos = new List<Trecho>(historia.trechos);
            trechos.Add(balao.trecho);
            historia.trechos = trechos.ToArray();

            if (apenasUmSelecionado())
            {
                novaPosicao.x = trechoSelecionado1.trecho.representacao.posicao.x;
                novaPosicao.y = trechoSelecionado1.trecho.representacao.posicao.y - balao.altura - 45;
            }
            else
            {
                balao.transform.localPosition = Vector3.zero;
                balao.transform.localScale = Vector3.one;
            }

            transf.localPosition = novaPosicao;
            alternarBalao(balao);
        }