public Jugador(TgcSkeletalMesh skeletalMesh, IJugadorMoveStrategy strategy, Pelota pelota) { this.skeletalMesh = skeletalMesh; this.box = TgcBox.fromExtremes(this.skeletalMesh.BoundingBox.PMin, this.skeletalMesh.BoundingBox.PMax); this.strategy = strategy; this.pelota = pelota; this.posicionOriginal = skeletalMesh.Position; }
public Jugador(TgcSkeletalMesh skeletalMesh, IJugadorMoveStrategy strategy, Pelota pelota) { this.skeletalMesh = skeletalMesh; this.box = TgcBox.fromExtremes(this.skeletalMesh.BoundingBox.PMin, this.skeletalMesh.BoundingBox.PMax); this.strategy = strategy; this.pelota = pelota; this.posicionOriginal = skeletalMesh.Position; }
public void CambiarStrategy(IJugadorMoveStrategy jugadorIAStrategy) { this.cambiandoStrategy = true; this.strategy = jugadorIAStrategy; this.playAnimation(this.AnimacionParado, true); }
public void CambiarStrategy(IJugadorMoveStrategy jugadorIAStrategy) { this.cambiandoStrategy = true; this.strategy = jugadorIAStrategy; this.playAnimation(this.AnimacionParado, true); }
/// <summary> /// Creo un jugador basado en el Robot de TGC /// </summary> /// <param name="posicion">Posicion donde va a estar el jugador</param> /// <param name="angulo">El angulo donde va a mirar</param> /// <param name="pathRecursos"></param> /// <param name="nombreTextura">Que textura va a tener</param> /// <returns></returns> private Jugador CrearJugador(string pathRecursos, string nombreTextura, Vector3 posicion, float angulo, IJugadorMoveStrategy strategy, Pelota pelota) { //Cargar personaje con animaciones TgcSkeletalMesh personaje = new TgcSkeletalLoader().loadMeshAndAnimationsFromFile( pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.meshFilePlayer, pathRecursos + Settings.Default.meshFolderPlayer, new string[] { pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationWalkFilePlayer, pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationRunFilePlayer, pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationStopFilePlayer, } ); //Le cambiamos la textura //personaje.changeDiffuseMaps(new TgcTexture[] { // TgcTexture.createTexture(pathRecursos + Settings.Default.meshFolderPlayer + nombreTextura) // }); //TODO cambiar por matrices personaje.AutoTransformEnable = true; //Configurar animacion inicial personaje.playAnimation(Settings.Default.animationStopPlayer, true); personaje.Position = posicion; //Lo Escalo porque es muy grande personaje.Scale = new Vector3(0.5f, 0.5f, 0.5f); personaje.rotateY(Geometry.DegreeToRadian(angulo)); //Recalculo las normales para evitar problemas con la luz personaje.computeNormals(); Jugador jugador = new Jugador(personaje, strategy, pelota); jugador.ShadowEffect = TgcShaders.loadEffect(pathRecursos + "Shaders\\MeshPlanarShadows.fx"); jugador.LightEffect = TgcShaders.loadEffect(pathRecursos + "Shaders\\SkeletalMeshMultiplePointLight.fx"); return(jugador); }
/// <summary> /// Creo un jugador basado en el Robot de TGC /// </summary> /// <param name="posicion">Posicion donde va a estar el jugador</param> /// <param name="angulo">El angulo donde va a mirar</param> /// <param name="pathRecursos"></param> /// <param name="nombreTextura">Que textura va a tener</param> /// <returns></returns> private Jugador CrearJugador(string pathRecursos, string nombreTextura, Vector3 posicion, float angulo, IJugadorMoveStrategy strategy, Pelota pelota) { //Cargar personaje con animaciones TgcSkeletalMesh personaje = new TgcSkeletalLoader().loadMeshAndAnimationsFromFile( pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.meshFilePlayer, pathRecursos + Settings.Default.meshFolderPlayer, new string[] { pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationWalkFilePlayer, pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationRunFilePlayer, pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationStopFilePlayer, } ); //Le cambiamos la textura //personaje.changeDiffuseMaps(new TgcTexture[] { // TgcTexture.createTexture(pathRecursos + Settings.Default.meshFolderPlayer + nombreTextura) // }); //TODO cambiar por matrices personaje.AutoTransformEnable = true; //Configurar animacion inicial personaje.playAnimation(Settings.Default.animationStopPlayer, true); personaje.Position = posicion; //Lo Escalo porque es muy grande personaje.Scale = new Vector3(0.5f, 0.5f, 0.5f); personaje.rotateY(Geometry.DegreeToRadian(angulo)); //Recalculo las normales para evitar problemas con la luz personaje.computeNormals(); Jugador jugador = new Jugador(personaje, strategy, pelota); jugador.ShadowEffect = TgcShaders.loadEffect(pathRecursos + "Shaders\\MeshPlanarShadows.fx"); jugador.LightEffect = TgcShaders.loadEffect(pathRecursos + "Shaders\\SkeletalMeshMultiplePointLight.fx"); return jugador; }