public static bool Dispara(CriatureBase meuCriatureBase, GameObject gameObject) { Atributos A = meuCriatureBase.CaracCriature.meusAtributos; GerenciadorDeGolpes ggg = meuCriatureBase.GerenteDeGolpes; IGolpeBase gg = ggg.meusGolpes[ggg.golpeEscolhido]; if (gg.UltimoUso + gg.TempoDeReuso < Time.time && A.PE.Corrente >= gg.CustoPE) { AplicadorDeGolpe aplG = gameObject.AddComponent <AplicadorDeGolpe>(); A.PE.Corrente -= gg.CustoPE; gg.UltimoUso = Time.time; aplG.esseGolpe = gg; if (!GameController.g.estaEmLuta) { GameController.g.HudM.AtualizaHudHeroi(meuCriatureBase); } return(true); } else { return(false); } }
public void AtualizeImagemDeAtivos() { DadosDoPersonagem dados = GameController.g.Manager.Dados; if (cDeAtivos.imgGolpes.transform.parent.gameObject.activeSelf) { GerenciadorDeGolpes gg = GameController.g.Manager.CriatureAtivo.MeuCriatureBase.GerenteDeGolpes; cDeAtivos.imgGolpes.texture = GameController.g.El.RetornaMini(gg.meusGolpes[gg.golpeEscolhido].Nome); } if (dados.CriaturesAtivos.Count > 1) { cDeAtivos.imgCriature.transform.parent.gameObject.SetActive(true); cDeAtivos.imgCriature.texture = GameController.g.El.RetornaMini(dados.CriaturesAtivos[dados.CriatureSai + 1].NomeID); } else { cDeAtivos.imgCriature.transform.parent.gameObject.SetActive(false); } if (dados.Itens.Count > 0) { cDeAtivos.imgItens.transform.parent.gameObject.SetActive(true); cDeAtivos.imgItens.texture = GameController.g.El.RetornaMini(dados.Itens[dados.itemSai].ID); cDeAtivos.numItens.text = dados.Itens[dados.itemSai].Estoque.ToString(); } else { cDeAtivos.imgItens.transform.parent.gameObject.SetActive(false); } cDeAtivos.cristais.text = dados.Cristais.ToString(); }
public static GolpePersonagem RetornaGolpePersonagem(GameObject G, nomesGolpes nomeDoGolpe) { CriatureBase criatureBase = G.GetComponent <CreatureManager>().MeuCriatureBase; GerenciadorDeGolpes gg = criatureBase.GerenteDeGolpes; GolpePersonagem gP = gg.ProcuraGolpeNaLista(criatureBase.NomeID, nomeDoGolpe); return(gP); }
public void ImagemDoAtaque(CharacterManager manager) { if (manager.CriatureAtivo) { GerenciadorDeGolpes gg = manager.CriatureAtivo.MeuCriatureBase.GerenteDeGolpes; imgDoAtaque.texture = elementosDoJogo.el.RetornaMini(gg.meusGolpes[gg.golpeEscolhido].Nome); } }
protected override void AplicaIaDeAtaque() { if (PodeAtualizar) { coolDown += Time.deltaTime; } Atributos A = meuCriature.MeuCriatureBase.CaracCriature.meusAtributos; GerenciadorDeGolpes gg = meuCriature.MeuCriatureBase.GerenteDeGolpes; if (criatureDoJogador && A.PV.Corrente > 0 && coolDown > TEMPO_DE_COOLDOWN && gg.meusGolpes.Count > 0 && podeAtualizar ) { GolpeBase GB = gg.meusGolpes[gg.golpeEscolhido]; if (GB.Caracteristica == caracGolpe.colisao || GB.Caracteristica == caracGolpe.colisaoComPow) { { VerifiqueSigaOuAtaque(GB, A); } } else { Disparador(GB, A); } } else if (gg.meusGolpes.Count <= 0) { Debug.Log("lista de golpes vazia. POr que??? nivel" + meuCriature.MeuCriatureBase.CaracCriature.mNivel.Nivel); BugDaListaVazia(); } else if (A.PV.Corrente <= 0) { siga.PareAgora(); } else if (coolDown < TEMPO_DE_COOLDOWN) { AproximeEnquantoEspera(); } else if (!criatureDoJogador && !procurando) { ProcuraCriatureDoJogador(); } }
// Update is called once per frame void Update() { if (GameController.g) { GerenciadorDeGolpes gg = GameController.g.Manager.Dados.CriaturesAtivos[0].GerenteDeGolpes; GolpeBase gb = gg.meusGolpes[gg.golpeEscolhido]; if (-Time.time + gb.UltimoUso + gb.TempoDeReuso > 0) { imgDoTexto.gameObject.SetActive(true); texto.text = comandos.mostradorDeTempo(-Time.time + gb.UltimoUso + gb.TempoDeReuso, "s", false); texto.text = (texto.text == "0") ? "0." : texto.text; } else { imgDoTexto.gameObject.SetActive(false); } } }
public static int Sorteia(nomesCriatures nome, GerenciadorDeGolpes GG) { //bool foi = false; float roletaDeGolpes = 0; for (int i = 0; i < GG.meusGolpes.Count; i++) { roletaDeGolpes += GG.ProcuraGolpeNaLista(nome, GG.meusGolpes[i].Nome).TaxaDeUso; } float roleta = Random.Range(0, roletaDeGolpes); float sum = 0; int retorno = -1; //while(!foi){ for (int i = 0; i < GG.meusGolpes.Count; i++) { sum += GG.ProcuraGolpeNaLista(nome, GG.meusGolpes[i].Nome).TaxaDeUso; if (roleta <= sum && retorno == -1) { retorno = i; } } retorno = retorno == -1 ? 0 : retorno; if (GG.meusGolpes[retorno].UltimoUso >= Time.time - GG.meusGolpes[retorno].TempoDeReuso) { for (int i = 0; i < GG.meusGolpes.Count; i++) { if (GG.meusGolpes[i].UltimoUso < Time.time - GG.meusGolpes[i].TempoDeReuso) { retorno = i; } } } //} return(retorno == -1 ? 0 : retorno); }
public void BotaoMaisAtaques(int i) { if (PodeAbrirMenuDeImagem()) { VerificaSetarManager(); //hudM.MenuDeI.IniciarHud(manager.Dados, TipoDeDado.golpe, manager.Dados.CriaturesAtivos[0].GerenteDeGolpes.meusGolpes.Count, GerenciadorDeGolpes gg = manager.Dados.CriaturesAtivos[0].GerenteDeGolpes; if (i > 0) { if (gg.meusGolpes.Count > gg.golpeEscolhido + i) { gg.golpeEscolhido += i; } else { gg.golpeEscolhido = 0; } } else if (i < 0) { if (gg.golpeEscolhido + i >= 0) { gg.golpeEscolhido += i; } else { gg.golpeEscolhido = gg.meusGolpes.Count - 1; } } imgMenu.Acionada(TipoHud.golpes); HudM.AtualizeImagemDeAtivos(); //hudM.MenuDeI.FinalizarHud(); //hudM.Btns.ImagemDoAtaque(manager); //},5 //); } }
void ProcureColisao() { GerenciadorDeGolpes gg = meuCriature.MeuCriatureBase.GerenteDeGolpes; bool foi = false; for (int i = 0; i < gg.meusGolpes.Count; i++) { if (gg.meusGolpes[i].CustoPE == 0) { foi = true; gg.golpeEscolhido = i; } } if (foi) { coolDown = 0; } else { meuCriature.MeuCriatureBase.CaracCriature.meusAtributos.PE.AumentaAoMaximo(); } }
public CriatureBase(nomesCriatures X, int nivel = 1) { CriatureBase Y = personagemG2.RetornaUmCriature(X); //(CriatureBase)(personagemG2.Criatures[X].Clone()); caracCriature = Y.CaracCriature; gerenteG = Y.GerenteDeGolpes; mov = Y.Mov; alturaCamera = Y.alturaCamera; distanciaCamera = Y.distanciaCamera; alturaCameraLuta = Y.alturaCameraLuta; distanciaCameraLuta = Y.distanciaCameraLuta; nome = X; if (nivel > 1) { caracCriature.IncrementaNivel(nivel); } gerenteG.meusGolpes = new List <GolpeBase>(); gerenteG.meusGolpes.AddRange(GolpesAtivos(nivel, gerenteG.listaDeGolpes.ToArray())); VerificaSomaDeTaxas(); }
void AtualizaDadosDeHUD() { if (contadorDeItens.Count > 0) { VerificaNumeroDeElementos(); int indiceEscolhido = -1; string nome = ""; if (dados != null) { for (int i = 0; i < numeroDeElementos; i++) { Texture2D textura = null; contadorDeItens[i].transform.parent.gameObject.SetActive(false); switch (tipo) { case TipoHud.criatures: textura = GameController.g.El.RetornaMini(dados.CriaturesAtivos[i + 1].NomeID); if (i == dados.CriatureSai) { indiceEscolhido = i; nome = dados.CriaturesAtivos[i + 1].NomeEmLinguas; } break; case TipoHud.golpes: GerenciadorDeGolpes gB = GameController.g.Manager.CriatureAtivo.MeuCriatureBase.GerenteDeGolpes; textura = GameController.g.El.RetornaMini(gB.meusGolpes[i].Nome); if (i == gB.golpeEscolhido) { indiceEscolhido = i; nome = gB.meusGolpes[i].NomeEmLinguas(); } break; case TipoHud.items: textura = GameController.g.El.RetornaMini(dados.Itens[i].ID); if (i == dados.itemSai) { nome = MbItens.NomeEmLinguas(dados.Itens[i].ID); indiceEscolhido = i; } contadorDeItens[i].transform.parent.gameObject.SetActive(true); contadorDeItens[i].text = dados.Itens[i].Estoque.ToString(); break; } if (numeroDeElementos > i) { raw[i].texture = textura; raw[i].color = new Color(1, 1, 1, 1); } else { raw[i].color = new Color(1, 1, 1, 0); } if (i == indiceEscolhido) { imagensDePainel[i].sprite = GameController.g.El.uiDestaque; } else { imagensDePainel[i].sprite = GameController.g.El.uiDefault; } } } textoDoItem.text = nome; } }