public void LanzarObjeto(ObjetoBase objeto, GameObject objetivo) { //Hacer animacion objeto StartCoroutine(AccionObjeto(objetivo, objeto)); if (objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.CURAR)) { sistemaTurnos.sistemaDMG.Curar(objeto.cantidadEfecto, objetivo); } else if (objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.MANA)) { sistemaTurnos.sistemaDMG.RestablecerMana(objeto.cantidadEfecto, objetivo); } else if (objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.HACERDMG)) { sistemaTurnos.sistemaDMG.HacerDMGaEnemigo(objeto, objetivo); } else if (objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.REVIVIR)) { if (objetivo.CompareTag("Muerto")) { objetivo.GetComponent <HeroeStateMachine>().Revivir(); sistemaTurnos.sistemaDMG.Curar(Mathf.RoundToInt(objetivo.GetComponent <HeroeStateMachine>().heroe.vidaBase / 2), objetivo); } } objeto.cantidad -= 1; if (objeto.cantidad == 0) { sistemaTurnos.inventario.RmvfromInvt(objeto); } AcabarTurno(); }
public void End() { base.Close(); if (variable != null) { variable.MainAnchor = variable.SubAnchor; variable.SubAnchor = null; variable.Anchorable.anchorLerpCoeffPerSec = variable.MainAnchor.LerpCoeficient; variable.Anchorable.anchor = variable.MainAnchor; variable.Anchorable.isAttached = true; variable.Anchorable.anchor.NotifyAttached(variable.Anchorable); variable.Interaction.ignoreGrasping = false; variable = null; } if (objeto != null) { Contraer(); objeto.MainAnchor = objeto.SubAnchor; objeto.SubAnchor = null; objeto.Anchorable.anchorLerpCoeffPerSec = objeto.MainAnchor.LerpCoeficient; objeto.Anchorable.anchor = objeto.MainAnchor; objeto.Anchorable.isAttached = true; objeto.Anchorable.anchor.NotifyAttached(objeto.Anchorable); objeto.Interaction.ignoreGrasping = false; objeto = null; } }
public static void GuardarObjeto(ObjetoBase objetoGuardar) { Type tipo = objetoGuardar.GetType(); if (!almacen.ContainsKey(tipo)) { almacen.Add(tipo, new Dictionary <long, ObjetoBase>()); } if (almacen[tipo].ContainsKey(objetoGuardar.Id)) { if (ActivarLog) { Log.EscribirLog("ALAMCEN <- : ACTUALIZADO. [OBJETO: " + tipo.Name + " ID: " + objetoGuardar.Id + "]"); } almacen[tipo][objetoGuardar.Id] = objetoGuardar; } else { if (ActivarLog) { Log.EscribirLog("ALAMCEN <- : AGREGADO [OBJETO: " + tipo.Name + " ID: " + objetoGuardar.Id + "]"); } almacen[tipo].Add(objetoGuardar.Id, objetoGuardar); } }
public IEnumerator AccionObjeto(GameObject objetivo, ObjetoBase objeto) { if (accionComenzada) { yield break; } //Comenzamos la accion accionComenzada = true; if (objeto.prefab != null) { GameObject projectile = Instantiate(objeto.prefab, objetivo.transform) as GameObject; projectile.transform.SetParent(objetivo.transform.parent); projectile.transform.localScale = objeto.prefab.transform.localScale; yield return(new WaitForSeconds(2f)); Destroy(projectile); } else { yield return(new WaitForSeconds(2f)); } //Esperar yield return(new WaitForSeconds(1.5f)); accionComenzada = false; }
public void Open(VariableObjeto _variable) { Open(); variable = _variable; variable.SubAnchor = variable.MainAnchor; variable.MainAnchor = anchorVariable; variable.Anchorable.anchorLerpCoeffPerSec = anchorVariable.LerpCoeficient; variable.Anchorable.anchor = anchorVariable; variable.Anchorable.isAttached = true; variable.Anchorable.anchor.NotifyAttached(variable.Anchorable); anchorMetodo.gameObject.SetActive(false); if (Manager.Instance.english) { info.text = "To run methods, asign an object to the variable"; } else { info.text = "Para poder ejecutar metodos, asigna un objeto a la variable"; } if (variable.objetoReferenciado != null) { objeto = variable.objetoReferenciado; objeto.SubAnchor = objeto.MainAnchor; objeto.MainAnchor = anchorObjeto; objeto.Anchorable.anchorLerpCoeffPerSec = anchorObjeto.LerpCoeficient; objeto.Anchorable.anchor = anchorObjeto; objeto.Anchorable.isAttached = true; objeto.Anchorable.anchor.NotifyAttached(objeto.Anchorable); anchorMetodo.gameObject.SetActive(true); info.text = ""; title.text = "Variable: " + variable.nombre; Expandir(); } }
public void HacerDMGaEnemigo(ObjetoBase objeto, GameObject objetivo) { objetivo.GetComponent <EnemigoStateMachine>().enemigo.vidaActual -= Mathf.RoundToInt(objeto.cantidadEfecto * 0.75f); objetivo.GetComponent <EnemigoStateMachine>().AnimacionRecibirDMG(); SpawnDMG(objeto.cantidadEfecto, objetivo, "daño"); }
public void RemoveClases() { while (anchorablePrefs.Count > 0) { ObjetoBase b = anchorablePrefs[0]; anchorablePrefs.Remove(b); Destroy(b.gameObject); m.NumberClases--; } }
public void ObjetoSeleccionado(ObjetoBase objeto) { enDescripcion = true; seleccionable = false; //Mostrar panel de descripcion del objetos panelDescpObjetos.SetActive(true); panelDescpObjetos.transform.Find("Objeto").gameObject.SetActive(true); panelDescpObjetos.transform.Find("Objeto").GetComponent <RellenarObjetos>().Rellenar(objeto); }
public void Eliminar() { mg.RemoveOfTypeObject(objeto); mg.RemoveOfTypeVariable(objeto); mg.anchorablePrefs.Remove(objeto); Destroy(objeto.gameObject); objeto = null; mc.ReOrder(); mc.NumberClases--; }
public void Init(ObjetoBase objeto, CustomAnchor main) { base.Init(main); em = (ExploracionMetodo)Manager.Instance.GetMenu("ExploracionMetodo"); eo = (ExploracionObjeto)Manager.Instance.GetMenu("ExploracionObjeto"); this.objeto = objeto; Interaction.OnGraspEnd += (() => Release()); textoPanelSuperior.text = cabecera; }
public static Observable Observable(this ObjetoBase objetoBase) { IImplementacion impl = objetoBase.Implementacion(); Observable observable = Observable(impl); if (observable != null) { observable.ObjetoDatos = objetoBase; } return(observable); }
public void Load(string nombre, Material m) { ObjetoBase objetoScript = Instantiate(Manager.Instance.objetoBasePrefab, new Vector3(999, 999, 999), Quaternion.identity); objetoScript.nombre = nombre; string s = cabecera.text + " {\n"; foreach (IntVariable var in variablesInt) { objetoScript.variablesInt.Add(var); var.gameObject.transform.parent = objetoScript.variablesParent; var.gameObject.transform.localScale = Vector3.one; s += var.WriteFile(); } foreach (FloatVariable var in variablesFloat) { objetoScript.variablesFloat.Add(var); var.gameObject.transform.parent = objetoScript.variablesParent; var.gameObject.transform.localScale = Vector3.one; s += var.WriteFile(); } foreach (BoolVariable var in variablesBoolean) { objetoScript.variablesBool.Add(var); var.gameObject.transform.parent = objetoScript.variablesParent; var.gameObject.transform.localScale = Vector3.one; s += var.WriteFile(); } foreach (MetodoBase var in metodos.Values) { objetoScript.metodos.Add(var); var.gameObject.transform.parent = objetoScript.metodoParent; var.gameObject.transform.localScale = Vector3.one; s += var.WriteFile(); } s += "}"; objetoScript.codigo += s; objetoScript.Material = m; mc.NumberClases++; this.m.anchorablePrefs.Add(objetoScript.gameObject.GetComponent <ObjetoBase>()); variablesBoolean.Clear(); variablesFloat.Clear(); variablesInt.Clear(); metodos.Clear(); }
public void Restart() { variablesInt.Clear(); variablesFloat.Clear(); variablesBoolean.Clear(); metodos.Clear(); nombreInput.text = ""; numberVariables = 0; numberMethods = 0; objectToModify = null; indiceLinea = 0; modify = false; }
public void ObjetoSeleccionado(ObjetoBase objeto) { //Desactiva el menu de comandos sistemaMenus.DesactivarMenu(); if (objeto.cantidad > 0) { //Reset menu selector de objetos ResetMenuSeleccion(); sistemaMenus.SeleccionarObjetivo(objeto); } }
private void OnTriggerEnter(Collider other) { ObjetoBase o = other.gameObject.GetComponent <ObjetoBase>(); if (o != null && o == objetoReferenciado) { return; } if (o != null && o.nombre == clase) { objetoReferenciado = o; c.Write(nombreColor + " = new " + nombreColorClase + "();"); } }
public void RemoveAllObjects() { for (int i = 0; i < objects.Count; i++) { CustomAnchor anchor = gridObjeto.FirstOrDefault(x => x.objectAnchored == objects[i]); ObjetoBase oldObject = anchor.objectAnchored as ObjetoBase; objects.Remove(oldObject); anchor.NotifyDetached(oldObject.Anchorable); Destroy(oldObject.gameObject); anchor.gameObject.SetActive(false); activeObjectAnchors--; i--; m.NumberObjetos--; } }
public void SetObjetoAsignado(ObjetoBase objeto, String etiqueta) { txt_Etiqueta.Text = etiqueta; if (etiqueta.Trim().Equals("") || objeto == null) { if (ListaObjetos != null) { ListaObjetos.Clear(); } } else { ListaObjetos.Clear(); ListaObjetos.Add(objeto); } }
public static ObjetoBase ObtenerObjeto(Type tipo, long id) { if (almacen.ContainsKey(tipo)) { if (almacen[tipo].ContainsKey(id)) { if (ActivarLog) { Log.EscribirLog("ALAMCEN ->: OBTENIDO [OBJETO: " + tipo.Name + " ID: " + id + "]"); } ObjetoBase objeto = almacen[tipo][id]; //objeto.EliminarCache(); return(objeto); } } return(null); }
public void Init(string nombre, string clase, CustomAnchor main, Material colorVariable, Material colorClase) { base.Init(main); eo = (ExploracionObjeto)Manager.Instance.GetMenu("ExploracionObjeto"); mg = (MenuGrid)Manager.Instance.GetMenu("MenuGrid"); c = (Consola)Manager.Instance.GetMenu("Consola"); this.nombre = nombre; this.clase = clase; this.colorVariable = colorVariable; this.colorClase = colorClase; this.nombreColor = "<#" + ColorUtility.ToHtmlStringRGB(colorVariable.color) + ">" + nombre + "</color>"; this.nombreColorClase = "<#" + ColorUtility.ToHtmlStringRGB(colorClase.color) + ">" + clase + "</color>"; objetoReferenciado = null; Interaction.OnGraspEnd += (() => Release()); textoPanelSuperior.text = nombreColorClase + " " + nombreColor + ";"; }
public void RemoveOfTypeVariable(ObjetoBase o) { for (int i = 0; i < variables.Count; i++) { CustomAnchor anchor = gridVariable.FirstOrDefault(x => x.objectAnchored == variables[i]); VariableObjeto oldObject = anchor.objectAnchored as VariableObjeto; if (oldObject.clase == o.nombre) { variables.Remove(oldObject); anchor.NotifyDetached(oldObject.Anchorable); Destroy(oldObject.gameObject); anchor.gameObject.SetActive(false); activeVariableAnchors--; i--; m.NumberVariables--; } } }
public List <ObjetoBase> ObtenerSeleccionados(Type tipo) { List <ObjetoBase> objetosSeleccionados = null; if (seAcepto) { objetosSeleccionados = new List <ObjetoBase>(); for (int i = 0; i < dgr_InformacionObjetos.SelectedRows.Count; i++) { long id = Convert.ToInt32(Herramientas.Forms.DataGridViewConf.ObtenerValorCelda(dgr_InformacionObjetos, i, "ID")); ObjetoBase objeto = Manejador.Cargar(tipo, "select * from " + tipoObjetoABuscar.Name + " where id = @id", new List <object>() { id })[0]; objetosSeleccionados.Add(objeto); } } return(objetosSeleccionados); }
public List <ObjetoBase> ObtenerSeleccionados() { List <ObjetoBase> objetosSeleccionados = null; if (dgr_GridResultadosBusqueda.SelectedItems.Count > 0) { objetosSeleccionados = new List <ObjetoBase>(); } foreach (DataRowView drv in dgr_GridResultadosBusqueda.SelectedItems) { long id = (long)drv.Row[0]; ObjetoBase objeto = manejador.Cargar(tipoObjetoABuscar, "select * from " + tipoObjetoABuscar.Name + " where id = @id", new List <object>() { id })[0]; objetosSeleccionados.Add(objeto); } return(objetosSeleccionados); }
public void RemoveOneObject(CustomAnchorable c) { if (activeObjectAnchors > 0) { CustomAnchor anchor = gridObjeto.FirstOrDefault(x => x.objectAnchored == c); ObjetoBase oldObject = anchor.objectAnchored as ObjetoBase; objects.Remove(oldObject); anchor.NotifyDetached(oldObject.Anchorable); Destroy(oldObject.gameObject); anchor.gameObject.SetActive(false); activeObjectAnchors--; Debug.Log(activeObjectAnchors); m.NumberObjetos--; } else { Debug.Log("No existen objetos creados"); } }
public void SpawnObject(int i) { if (activeObjectAnchors < gridObjeto.Count) { CustomAnchor anchor = gridObjeto.FirstOrDefault(x => !x.gameObject.activeSelf); GameObject newObject = Instantiate(anchorablePrefs[i], anchor.gameObject.transform.position, anchor.gameObject.transform.rotation, objectsPivot).gameObject; ObjetoBase newAnchorable = newObject.GetComponent <ObjetoBase>(); anchor.gameObject.SetActive(true); anchor.objectAnchored = newAnchorable; newAnchorable.Init(anchor); objects.Add(newAnchorable); activeObjectAnchors++; newAnchorable.GraspEnd(); c.Write("new " + "<#" + ColorUtility.ToHtmlStringRGB(newAnchorable.Material.color) + ">" + newAnchorable.nombre + "</color>();"); } else { Debug.Log("Maximos objetos creados"); } }
//Seleccionar Objetivo -> Objeto public void SeleccionarObjetivo(ObjetoBase objeto) { menuLista.GetComponent <SistemaSeleccion>().menuAnterior = HeroeStateMachine.HeroeInputMenu.OBJETOS; menuLista.GetComponent <SistemaSeleccion>().HSM = HSM; menuLista.GetComponent <SistemaSeleccion>().sistemaMenus = this; menuLista.GetComponent <SistemaSeleccion>().objeto = objeto; if (objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.CURAR) || objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.MANA) || objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.REVIVIR)) { List <GameObject> heroesInstaciados = RellenarListaHeroes(sistemaTurnos.heroesCombate); menuLista.GetComponent <SistemaSeleccion>().Inicializar(heroesInstaciados, "heroes"); } else if (objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.HACERDMG)) { List <GameObject> enemigosInstanciados = RellenarListaEnemigos(sistemaTurnos.enemigosCombate); menuLista.GetComponent <SistemaSeleccion>().Inicializar(enemigosInstanciados, "enemigos"); } }
public void Rellenar(ObjetoBase objeto) { transform.Find("Icon").GetComponent <Image>().sprite = objeto.icon; transform.Find("Nombre").GetComponent <TextMeshProUGUI>().text = objeto.nombreObjeto; transform.Find("Cantidad").GetComponent <TextMeshProUGUI>().text = "x" + objeto.cantidad; transform.Find("DMG").GetComponent <TextMeshProUGUI>().text = "" + objeto.cantidadEfecto; if (objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.CURAR)) { transform.Find("DMG").Find("Image").GetComponent <Image>().sprite = spriteCura; } else if (objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.HACERDMG)) { transform.Find("DMG").Find("Image").GetComponent <Image>().sprite = spriteDMG; } else if (objeto.tipoAccion.Equals(ObjetoBase.TipoAccion.MANA)) { transform.Find("DMG").Find("Image").GetComponent <Image>().sprite = spriteMana; } transform.Find("Descripcion").GetComponent <TextMeshProUGUI>().text = objeto.descripcion; }
public void Open(ObjetoBase _objeto) { Open(); objeto = _objeto; objeto.SubAnchor = objeto.MainAnchor; objeto.MainAnchor = anchorObjeto; objeto.Anchorable.anchorLerpCoeffPerSec = anchorObjeto.LerpCoeficient; objeto.Anchorable.anchor = anchorObjeto; objeto.Anchorable.isAttached = true; objeto.Anchorable.anchor.NotifyAttached(objeto.Anchorable); anchorMetodo.gameObject.SetActive(false); if (Manager.Instance.english) { info.text = "To run methods, inspect a variable with a reference to an object"; title.text = "Object: " + objeto.nombre; } else { info.text = "Para poder ejecutar metodos, inspecciona una variable con un objeto asignado"; title.text = "Objeto: " + objeto.nombre; } Expandir(); }
public void OpenModify(ObjetoBase objeto) { Restart(); Open(); p.OpenNew(); objectToModify = objeto; for (int i = 0; i < objectToModify.variablesInt.Count; i++) { variablesInt.Add(objectToModify.variablesInt[i]); p.AddVariable("int"); NumberVariables++; } for (int i = 0; i < objectToModify.variablesFloat.Count; i++) { variablesFloat.Add(objectToModify.variablesFloat[i]); p.AddVariable("float"); NumberVariables++; } for (int i = 0; i < objectToModify.variablesBool.Count; i++) { variablesBoolean.Add(objectToModify.variablesBool[i]); p.AddVariable("bool"); NumberVariables++; } for (int i = 0; i < objectToModify.metodos.Count; i++) { metodos.Add(objectToModify.metodos[i].nombre, objectToModify.metodos[i]); p.AddMetodo(objectToModify.metodos[i].nombre); NumberMethods++; } nombreInput.text = objectToModify.nombre; nombreInput.Select(); nombreInput.stringPosition = nombreInput.text.Length; modify = true; SetColor = objectToModify.Material.color; TrimString(); }
private void MostrarPopup() { ObjectHandle obj = null; Window window; try { obj = Activator.CreateInstance(assem.FullName, this.rutaCatalogo); window = (Window)obj.Unwrap(); } catch { HerramientasWindow.MensajeError(new Exception("La referencia configurada en el catálogo rápido es incorrecta."), "La referencia registrada en la configuración del sistema para este formulario es incorrecta. Verificar", "Error al cargar el formulario"); return; } this.objeto = asignarObjetoCatalogo(); if (this.objeto != null) { try { iCatalogo cat = (iCatalogo)window; cat.AsignarObjetoDominio(this.objeto); HerramientasWindow.MostrarVentanaEmergenteConTools(window, false); } catch (Exception ex) { HerramientasWindow.MensajeError(ex, "La referencia registrada en la configuración del sistema para este formulario es incorrecta. Verificar", "Error al cargar el formulario"); return; } } if (seCerroCatalogo != null) { seCerroCatalogo(); } }
public static IImplementacion Implementacion(this ObjetoBase objetoBase) { return(objetoBase.Impl); }