public Enemigo(Vector3 posicion) { //Cargar enemigo TgcSkeletalLoader skeletalLoader = new TgcSkeletalLoader(); meshEnemigos.Add("BasicHuman-TgcSkeletalMesh.xml"); meshEnemigos.Add("CombineSoldier-TgcSkeletalMesh.xml"); meshEnemigos.Add("CS_Gign-TgcSkeletalMesh.xml"); meshEnemigos.Add("CS_Arctic-TgcSkeletalMesh.xml"); meshEnemigos.Add("Pilot-TgcSkeletalMesh.xml"); meshEnemigos.Add("Quake2Scout-TgcSkeletalMesh.xml"); meshEnemigos.Add("WomanJeans-TgcSkeletalMesh.xml"); enemigo = skeletalLoader.loadMeshAndAnimationsFromFile( GuiController.Instance.ExamplesMediaDir + "SkeletalAnimations\\BasicHuman\\" + meshEnemigos[randomEnemigo.Next(0, 6)], new string[] { GuiController.Instance.ExamplesMediaDir + "SkeletalAnimations\\BasicHuman\\Animations\\" + "Walk-TgcSkeletalAnim.xml", GuiController.Instance.ExamplesMediaDir + "SkeletalAnimations\\BasicHuman\\Animations\\" + "StandBy-TgcSkeletalAnim.xml", GuiController.Instance.ExamplesMediaDir + "SkeletalAnimations\\BasicHuman\\Animations\\" + "Run-TgcSkeletalAnim.xml", GuiController.Instance.AlumnoEjemplosMediaDir + "CEGA\\Animations\\" + "Death-TgcSkeletalAnim.xml", }); enemigo.playAnimation("Run", true); enemigo.Position = posicion; enemigo.Scale = new Vector3(0.12f, 0.12f, 0.12f); this.colisionado = false; //Inicializo HP hp = 100; //Creo el BB para la cabeza cabeza = new TgcBoundingSphere(new Vector3(enemigo.Position.X, enemigo.Position.Y + 5.2F, enemigo.Position.Z), 0.5F); //Debe haber alguna forma de sacar esta info del hueso directamente cabeza.setRenderColor(System.Drawing.Color.Red); //Modifico el BB del cuerpo enemigo.AutoUpdateBoundingBox = false; enemigo.BoundingBox.scaleTranslate(enemigo.Position, new Vector3(0.07f, 0.095f, 0.07f)); //Inicializo el emisor emisorDeParticulas = new ParticleEmitter(GuiController.Instance.AlumnoEjemplosMediaDir + "CEGA\\Textures\\blood.jpg", 500); emisorDeParticulas.Playing = false; }
public SphereCollider(TgcBoundingSphere sphere) { Sphere = sphere; _Radius = sphere.Radius; sphere.setRenderColor(DefaultColiderColor); }