void dialogAddNewTransition() { Estado e = (Estado)MarkovTemplate.stateList[qualJanelaActiva]; EditorGUILayout.LabelField("State" + e.id, EditorStyles.boldLabel); targetId = EditorGUILayout.IntField("Transition to state: ", targetId); if (targetId < 0) { targetId = 0; } if (targetId > listaEstados.Length) { targetId = listaEstados.Length; } verticalSpace(); for (int i = 0; i < listaEstados.Length; i++) { MarkovTemplate.Sensor sTemplate = (MarkovTemplate.Sensor)listaEstados.GetValue(i); condicoes[i] = EditorGUILayout.Toggle("Sensor: " + sTemplate, condicoes[i]); } }
void dialogEdicao() { Estado estado = MarkovTemplate.getState(qualJanelaActiva); if (estado != null) { if (estado.transicoes.Count == 0) { janela.height = 100; } else { janela.height = 500; } } verticalSpace(); EditorGUILayout.LabelField("State: " + qualJanelaActiva, EditorStyles.boldLabel); ((Estado)MarkovTemplate.getState(qualJanelaActiva)).titulo = EditorGUILayout.TextField(estado.titulo, GUILayout.Width(125));//, GUILayout.Width(75),GUILayout.ExpandWidth(true),EditorStyles.textField); verticalSpace(); //Visualiza Check Boxes das Transicoes if (estado != null) { scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(190), GUILayout.Height(300)); //Para todas as transicoes deste estado for (int t = estado.transicoes.Count - 1; t >= 0; t--) { bool aux = false; Estado.Transicao transicao = (Estado.Transicao)estado.transicoes[t]; aux = condicoes[t]; condicoes[t] = EditorGUILayout.BeginToggleGroup("Transition to: " + transicao.destino, condicoes[t]); if (aux != condicoes[t]) { if (!condicoes[t]) { estado.transicoes.RemoveAt(t); condicoes[t] = true; } } //Condicoes foreach (MarkovTemplate.Sensor sTemplate in listaEstados) { aux = false; int idx = -1; for (int s = 0; s < transicao.condicao.Count; s++) { MarkovTemplate.Sensor sr = (MarkovTemplate.Sensor)transicao.condicao[s]; if (sr == (MarkovTemplate.Sensor)sTemplate) { aux = true; idx = s; } } myBool = EditorGUILayout.Toggle("Sensor: " + sTemplate, aux); if (aux != myBool) { if (myBool) { transicao.condicao.Add(sTemplate); } else { transicao.condicao.RemoveAt(idx); } } } EditorGUILayout.EndToggleGroup(); } EditorGUILayout.EndScrollView(); //EditorGUILayout.EndVertical(); } }