public void InsereElementosDeControle(GameObject oControlado, Transform ondeChegar, float velocidadeAndando = 6) { this.oControlado = oControlado; if (!oControlado.GetComponent <CharacterController>()) { CharacterController Cc = oControlado.AddComponent <CharacterController>(); Cc.center = new Vector3(0, 1.05f, 0); } anima = new AnimadorHumano(oControlado.GetComponent <Animator>()); mov = new MovimentacaoBasica( new CaracteristicasDeMovimentacao() { velocidadeAndando = velocidadeAndando, caracPulo = new CaracteristicasDePulo() }, new ElementosDeMovimentacao(oControlado.transform, anima) ); path = new NavMeshPath(); NavMeshHit navHit = new NavMeshHit(); if (NavMesh.SamplePosition(ondeChegar.position, out navHit, 10, 1)) { Debug.Log( NavMesh.CalculatePath(oControlado.transform.position, navHit.position, 1, path)); } Debug.Log("cantos da Path: " + path.corners.Length); indiceDaDirecao = 1; }
public AnimaBraco(CharacterManager manager, Transform alvo) { mCamera = AplicadorDeCamera.cam; mCamera.InicializaCameraExibicionista(manager.transform, 2.5f); this.manager = manager; animador = manager.Mov.Animador; manager.transform.rotation = Quaternion.LookRotation( Vector3.ProjectOnPlane(alvo.position - manager.transform.position, Vector3.up) ); this.alvo = alvo.gameObject; PosCriature = alvo.position; }
/* * public GerenciadorDeEstadoDePersonagem gerente; * * public ICameraBase cam; */ public ElementosDeMovimentacao(Transform transform, AnimadorHumano animador = null /*GerenciadorDeEstadoDePersonagem gerente, * , ICameraBase cam*/) { this.controle = transform.GetComponent <CharacterController>(); this.transform = transform; this.animador = animador; /* * this.gerente = gerente; * * this.cam = cam; */ }
public AnimaBraco(Transform oAnimado, Transform alvo, bool treinador = false) { this.treinador = treinador; this.oAnimado = oAnimado; mCamera = AplicadorDeCamera.cam; mCamera.InicializaCameraExibicionista(oAnimado, 2.5f); animador = (treinador) ?new AnimadorHumano(oAnimado.GetComponent <Animator>()) : GameController.g.Manager.Mov.Animador; oAnimado.rotation = Quaternion.LookRotation( Vector3.ProjectOnPlane(alvo.position - oAnimado.position, Vector3.up) ); this.alvo = alvo.gameObject; PosCriature = alvo.position; }