// Use this for initialization


	void Start () {
        Propriedade<float> propriedade1 = new Propriedade<float>("propriedade1", 9);
        sistema.AdicionarPropriedade(propriedade1);

        Estado estado1 = new Estado("estado1",sistema);
        sistema.AdicionarEstado(estado1);
        Estado estado2 = new Estado("estado2", sistema);
        sistema.AdicionarEstado(estado2);

        Transicao transicao = new Transicao("valor maior que dez",estado1,estado2,sistema);
        sistema.AdicionarTransicao(transicao);
        Func<float, bool> comparacao = x => {  return x > 10; };
        Condicao<float> condicao = new Condicao<float>("maior", comparacao, transicao);
        transicao.AdicionarCondicao(condicao);
        
        Transicao transicao2 = new Transicao("valor menor que dez", estado2, estado1, sistema);
        sistema.AdicionarTransicao(transicao2);
        Func<float, bool> comparacao2 = x => {  return x < 10; };
        Condicao<float> condicao2 = new Condicao<float>("menor", comparacao2, transicao2);
            
        transicao2.AdicionarCondicao(condicao2);


        propriedade1.RegistrarObservador(condicao);
        propriedade1.RegistrarObservador(condicao2);
        sistema.SetarEstadoInicial(estado1.nome);
	}