IEnumerator agregarProcesoA_ES(string nombre, int ms) { yield return(new WaitForSeconds(0.1f)); animProToES.SetBool("toES", false); yield return(new WaitForSeconds(0.9f)); GameObject obj = (GameObject)Instantiate(prefabProceso); obj.name = nombre; obj.transform.SetParent(parentColaES.parent); obj.transform.localScale = new Vector3(1f, 1f, 1f); listaColaES.Add(obj); // cambiar parametros del proceso ItemProceso proceso = obj.GetComponent <ItemProceso> (); proceso.setInfoProceso(nombre, ms); proceso.colorEstadoOperacionES(); }
// El origen solo es para identificar desde donde llega el proceso, asi las animaciones del // proceso que llega a la cola listos tendran una posicion de origen distinta... // 0 = nuevo, 1 = CPU, y 2 = E/S public void agregarProcesoColaListos(string nombre, int ms, int origen) { switch (origen) { case 0: // proceso nuevo animProToLISTOS.SetBool("toLISTOS", true); proccessToLISTOS.setInfoProceso(nombre, ms); break; // case 1: // proviene desde CPU // animProCPUToLISTOS.SetBool("toLISTOS", true); // proccessCPUToLISTOS.setInfoProceso(nombre, ms); // break; case 2: // proviene desde E/S animProESToLISTOS.SetBool("toLISTOS", true); proccessESToLISTOS.setInfoProceso(nombre, ms); break; default: // proceso nuevo animProToLISTOS.SetBool("toLISTOS", true); proccessToLISTOS.setInfoProceso(nombre, ms); break; } GameObject obj = (GameObject)Instantiate(prefabProceso); obj.SetActive(false); // necesario para este metodo... obj.name = nombre; obj.transform.SetParent(parentColaListos.parent); obj.transform.localScale = new Vector3(1f, 1f, 1f); listaColaListos.Add(obj); // cambiar parametros del proceso ItemProceso proceso = obj.GetComponent <ItemProceso> (); proceso.setInfoProceso(nombre, ms); proceso.colorEstadoNormal(); StartCoroutine(agregarProcesoA_LISTOS(nombre)); }
IEnumerator agregarProcesoAcpu(string nombre, int ms) { yield return(new WaitForSeconds(0.1f)); anim.SetBool("toCPU", false); eliminarUltimoCPU(); yield return(new WaitForSeconds(0.85f)); GameObject obj = (GameObject)Instantiate(prefabProceso); obj.name = nombre; obj.transform.SetParent(parentColaCPU.parent); obj.transform.localScale = new Vector3(1f, 1f, 1f); listaColaCPU.Add(obj); // cambiar parametros del proceso ItemProceso proceso = obj.GetComponent <ItemProceso> (); proceso.setInfoProceso(nombre, ms); proceso.colorEstadoEjecutando(); }