void CambiarEstado(Simbolo simbolo) { ANodo temp = actual.AplicarTransicion(simbolo); if (actual != temp) { actual = temp; // deshacernos del behaviour actual Destroy(comportamiento); // reasignar referencia comportamiento = gameObject.AddComponent(actual.Comportamiento) as MonoBehaviour; } }
// Start is called before the first frame update void Start() { hatchet = GameObject.Find("Axe_Small_scaled"); referencia = gameObject.transform.GetChild(1); jugador = GameObject.Find("Jugador"); actual = new ANodo("creando", typeof(Enemigo)); ANodo inicial = new ANodo("inicial", typeof(BossInicial)); ANodo segundaFace = new ANodo("enojado", typeof(Boss50)); ANodo terceraFace = new ANodo("emputada", typeof(Boss25)); bossInicial = new Simbolo("iniciando"); boss50 = new Simbolo("enojarse"); boss25 = new Simbolo("emputarse"); actual.AddTransicion(bossInicial, inicial); inicial.AddTransicion(boss50, segundaFace); segundaFace.AddTransicion(boss25, terceraFace); CambiarEstado(bossInicial); print("la vida de la monja es: " + vida); }
public void AddTransicion(Simbolo simbolo, ANodo nodo) { Transferencia.Add(simbolo, nodo); }