public bool Pode() { bool retorno = false; KeyVar keyVar = GameController.g.MyKeys; if (aposShift) { retorno = keyVar.VerificaAutoShift(shiftDeApos); } if (aposAutoShift) { retorno = keyVar.VerificaAutoShift(autoDeApos); } if (!aposShift && !aposAutoShift && (antesDeShift || antesDeAutoShift)) { retorno = true; } if (antesDeShift) { retorno &= !keyVar.VerificaAutoShift(shiftDeAntes); } if (antesDeAutoShift) { retorno &= !keyVar.VerificaAutoShift(autoDeAntes); } return(retorno); }
private void OnTriggerEnter(Collider other) { if (keys.VerificaAutoShift(chave)) { Destroy(gameObject); } else { if (estado == EstadoDaVisao.emEspera) { if (other.tag == "Player") { g.ContarPassos = false; dirDeMove = (npc.position - other.transform.position).normalized; GameController.EntrarNoFluxoDeTexto(); g.Manager.Estado = EstadoDePersonagem.movimentoDeFora; Collider esseCol = GetComponent <Collider>(); AplicadorDeCamera.cam.InicializaCameraExibicionista(movs[0].AlvoDoMovimento, movs[0].alturaDaCamera, true); posInicialDeMoveCamera = AplicadorDeCamera.cam.transform.position; esseCol.enabled = false; esseCol.isTrigger = false; estado = EstadoDaVisao.iniciou; keys.MudaShift(chave, true); } else if (other.tag == "Criature" && !GameController.g.estaEmLuta) { EvitaAvancarNoTrigger.Evita(); } } } }