// Esta es una corutina
    IEnumerator CorutinaReaccionQuimica(float tiempoReaccion)
    {
        yield return(new WaitForSeconds(tiempoReaccion));

        EstadoSeleccion    = EnumSeleccion.Nada;
        ReactivoEnReaccion = null;
    }
    public void Agarrar(MaterialAgarrableZinc m)
    {
        Agarrado        = m.gameObject;
        EstadoSeleccion = EnumSeleccion.Agarrado;
        m.Agarrar();

        uiExperimentos.MostrarInformacion(m);
    }
Esempio n. 3
0
    public bool MarcarReactivo(MaterialReactivo reactivo)
    {
        if (reactivo.Usado == false)
        {
            ReactivoPosible = reactivo;
            EstadoSeleccion = EnumSeleccion.MarcandoReactivo;
            reactivo.Marcar();


            return(true);
        }

        return(false);
    }
    public bool MarcarReactivo(MaterialReactivo reactivo)
    {
        if (reactivo.Usado == false)
        {
            ReactivoPosible = reactivo;
            EstadoSeleccion = EnumSeleccion.MarcandoReactivo;
            reactivo.Marcar();

            uiExperimentos.MostrarInformacionReactivo(reactivo);

            return(true);
        }

        return(false);
    }
Esempio n. 5
0
    public void Soltar()
    {
        if (Agarrado == null)
        {
            return;
        }

        Agarrado.GetComponent <MaterialAgarrableEsfera>().Soltar();
        Agarrado = null;

        if (EstadoSeleccion == EnumSeleccion.MarcandoReactivo)
        {
            ReactivoPosible.Desmarcar();
            ReactivoPosible = null;
        }

        EstadoSeleccion = EnumSeleccion.Nada;
    }
    void Awake()
    {
        GameObject ui = GameObject.FindGameObjectWithTag("UIPanelMaterial");

        if (ui != null)
        {
            uiPanelMaterial = ui.GetComponent <UIPanelMaterial>();
            ui.SetActive(false);
        }


        ui = GameObject.FindGameObjectWithTag("UIExperimentos");
        if (ui != null)
        {
            uiExperimentos = ui.GetComponent <UIExperimentos>();
            ui.SetActive(true);
        }


        EstadoSeleccion = EnumSeleccion.Nada;

        // Materiales normales
        objetos = new List <GameObject>();
        GameObject [] materiales = GameObject.FindGameObjectsWithTag("Material");
        for (int i = 0; i < materiales.Length; i++)
        {
            objetos.Add(materiales[i]);
        }

        // Materiales Reactivos
        GameObject[] rs = GameObject.FindGameObjectsWithTag("MaterialReactivo");
        Reactivos = new List <MaterialReactivo>();
        for (int i = 0; i < rs.Length; i++)
        {
            MaterialReactivo m = rs[i].GetComponent <MaterialReactivo>();
            Reactivos.Add(m);

            ReactivoAcidoClorhidrico ac = m as ReactivoAcidoClorhidrico;
            if (ac != null)
            {
                acido = ac;
            }
        }
    }
Esempio n. 7
0
    void Awake()
    {
        _tablaExperimental = new List <RelacionMasaVolumen>();
        _tablaExperimental.Add(new RelacionMasaVolumen(50, 5, 10));
        _tablaExperimental.Add(new RelacionMasaVolumen(75, 8, 9.38f));
        _tablaExperimental.Add(new RelacionMasaVolumen(100, 11, 9.09f));
        _tablaExperimental.Add(new RelacionMasaVolumen(125, 13, 9.62f));
        _tablaExperimental.Add(new RelacionMasaVolumen(150, 17, 8.82f));
        _tablaExperimental.Add(new RelacionMasaVolumen(175, 20, 8.75f));
        _tablaExperimental.Add(new RelacionMasaVolumen(200, 25, 8));
        _tablaExperimental.Add(new RelacionMasaVolumen(225, 28, 8.04f));
        _tablaExperimental.Add(new RelacionMasaVolumen(250, 32, 7.81f));
        _tablaExperimental.Add(new RelacionMasaVolumen(275, 36, 7.64f));
        _tablaExperimental.Add(new RelacionMasaVolumen(300, 41, 7.32f));



        EstadoSeleccion = EnumSeleccion.Nada;
    }
    public void Soltar()
    {
        if (Agarrado == null)
        {
            return;
        }

        Agarrado.GetComponent <MaterialAgarrableZinc>().Soltar();
        Agarrado = null;

        if (EstadoSeleccion == EnumSeleccion.MarcandoReactivo)
        {
            ReactivoPosible.Desmarcar();
            ReactivoPosible = null;
        }

        EstadoSeleccion = EnumSeleccion.Nada;

        uiExperimentos.MostrarAgarrable(false);
    }
    public void ReaccionQuimica()
    {
        EstadoSeleccion = EnumSeleccion.Reaccionando;

        MaterialReactivo reactivo = ReactivoPosible;

        reactivo.ReaccionQuimica();
        Reactivos.Remove(reactivo);

        StartCoroutine(CorutinaReaccionQuimica(ReactivoPosible.TiempoReaccion));

        ReactivoEnReaccion = ReactivoPosible;
        ReactivoPosible    = null;

        Destroy(Agarrado);
        Agarrado = null;



        tiempoReaccionTranscurrido = 0f;
    }
Esempio n. 10
0
    public void Accion(GameObject reactivo)
    {
        EstadoSeleccion = EnumSeleccion.Reaccionando;

        VasodeAguaDensidad        agua     = reactivo.GetComponent <VasodeAguaDensidad>();
        MaterialAgarrableCuadrado cuadrado = Agarrado.GetComponent <MaterialAgarrableCuadrado>();

        MaterialAgarrableEsfera esfera = Agarrado.GetComponent <MaterialAgarrableEsfera>();

        if (cuadrado != null)
        {
            float cantidadVolumen = CalcularVolumenReaccion(cuadrado.Cantidad);
            float volRelativo     = CambiarCantidadVolumenRel(cantidadVolumen);
            agua.aumentarLiquidoCuadrado(volRelativo);
        }
        else
        if (esfera != null)
        {
            float cantidadVolumen = CalcularVolumenReaccion(esfera.Cantidad);
            float volRelativo     = CambiarCantidadVolumenRel(cantidadVolumen);
            agua.aumentarLiquidoEsfera(volRelativo);
            //esfera.TransformConexion = agua.PosicionAgua();
        }
    }
Esempio n. 11
0
 public void VolverEstadoAgarrado()
 {
     EstadoSeleccion = EnumSeleccion.Agarrado;
     ReactivoPosible.Desmarcar();
     ReactivoPosible = null;
 }
Esempio n. 12
0
 public void Agarrar(MaterialAgarrableEsfera m)
 {
     Agarrado        = m.gameObject;
     EstadoSeleccion = EnumSeleccion.Agarrado;
     m.Agarrar();
 }