// Start is called before the first frame update void Start() { cooldownPadrao = 50; gs = GameObject.Find("Gerenciador").GetComponent <GerenciadorScript>(); input = GameObject.Find("Input").GetComponent <GerenciadorInput>(); cursor = GameObject.Find("Cursor").GetComponent <ControleCursor>(); tilemap = GameObject.Find("Tilemap").GetComponent <Tilemap>(); personagem = gameObject.GetComponent <Personagem>(); ap = GameObject.Find("Placeholder").GetComponent <AttackParent>(); acabaramDeMeAtacar = new List <Personagem>(); }
void Start() { novaPosicao = transform.position; _tilemap = GameObject.Find("Tilemap").GetComponent <Tilemap>(); acessoCursor = GameObject.Find("CursorAccess").GetComponent <Tilemap>(); gs = GameObject.Find("Gerenciador").GetComponent <GerenciadorScript>(); gerenciadorInput = GameObject.Find("Input").GetComponent <GerenciadorInput>(); menuInventario = GameObject.Find("CanvasInventario").GetComponent <GerenciadorInventario>(); menuInventarioTroca = GameObject.Find("CanvasInventarioTroca").GetComponent <GerenciadorInventarioTroca>(); menuHabilidades = GameObject.Find("CanvasHabilidades").GetComponent <GerenciadorTelaHab>(); ap = GameObject.Find("Placeholder").GetComponent <AttackParent>(); ap.Init(); }
// Start is called before the first frame update void Start() { //andar = Defines.Andar("normal"); efeitos = new List <Efeito>(); //valores auxiliares para movimentação no campo de batalha rota = new List <Vector3>(); rotaBacktrack = new List <Vector3>(); destinoFinal = transform.position; inventario = new Item[8]; habilidades = new Habilidade[8]; //atributos Defines.Inicializacao(nome, gameObject); gs = GameObject.Find("Gerenciador").GetComponent <GerenciadorScript>(); gs.AdicionarPersonagem(gameObject); anim = GetComponent <Animator>(); ControladorDano.Init(); ap = GameObject.Find("Placeholder").GetComponent <AttackParent>(); }
public void UsarHabilidade(Vector3 posCentral) { //quais alvos selecionar, dependendo se a habilidade afeta alvos do mesmo time ou do time inimigo int timeAlvo = habilidadeAtual.seMesmoTime ? this.time : (this.time + 1) % 2; List <Vector3> tilesAlcancados = habilidadeAtual.areaDeEfeito; List <Personagem> alvos = new List <Personagem>(); GerenciadorScript gs = GameObject.Find("Gerenciador").GetComponent <GerenciadorScript>(); AttackParent ap = GameObject.Find("Placeholder").GetComponent <AttackParent>(); List <Action <GerenciadorDialogo> > list = new List <Action <GerenciadorDialogo> >(); foreach (Vector3 offset in tilesAlcancados) { //considerando posCentral como centro, tenta ver se encontra um alvo possível em todos os offsets //da área de efeito da habilidade Personagem alvoPossivel = gs.ObjetoNoTile(posCentral + offset); if (alvoPossivel == null) { continue; } else if (alvoPossivel.time == timeAlvo) { list.Add(gd => { gd.IrPara(posCentral + offset); }); list.Add(gd => { ap.Abrir(); ap.SetLeftAnimator(Defines.animacoesAtk[this.nome]); ap.SetRightAnimator(Defines.animacoesAtk[alvoPossivel.nome]); }); list.Add(gd => { habilidadeAtual.efeitoUso(this, alvoPossivel); }); list.Add(gd => { ap.Fechar(); }); } } gs.mensagensPendentes.Add(list); }
public void UsarItem(Personagem unid) { GerenciadorScript gs = GameObject.Find("Gerenciador").GetComponent <GerenciadorScript>(); AttackParent ap = GameObject.Find("Placeholder").GetComponent <AttackParent>(); List <Action <GerenciadorDialogo> > list = new List <Action <GerenciadorDialogo> >(); list.Add(gd => { gd.IrPara(unid.transform.position); }); list.Add(gd => { ap.Abrir(); ap.SetLeftAnimator(Defines.animacoesAtk[this.nome]); ap.SetRightAnimator(Defines.animacoesAtk[unid.nome]); }); list.Add(gd => { itemAtual.efeitoUso(this, unid); }); list.Add(gd => { ap.Fechar(); }); inventario[posItemAtual] = null; gs.mensagensPendentes.Add(list); }