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 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); }