<commit_before>/// <reference path = "../../../bower_components/pilasweb/dist/pilasweb.d.ts" />
/// <reference path = "../habilidades/Animar.ts" />
/// <reference path = "../escenas/Errores.ts" />

/**
 * @class ActorAnimado
 *
 * Representa un actor que tiene una animación cuando se mueve.
 * Las opciones deben incluir la grilla (imagen) y la cantidad de cuadros que tiene,
 * ó bien la grilla y la lista de cuadros que representan la animación. También puede
 * incluir el cuadroEstatico, que es el cuadro que se muestra al estar parado.
 *
 * Por ejemplo:
 *      @example
 *      miActor = new ActorAnimado(0,0,...documentación en ptrogreso...);
 *      miActor.hacer_luego(CaminaDerecha,{pasos: 2});
 */
class ActorAnimado extends Actor {
    opciones;
    _casillaActual;
    cuadricula;
    objetosRecogidos;
    pausado;
    habilidadesSuspendidas;
    pilaAnimaciones;
    velocidadOriginalDeLasAnimaciones;


    constructor(x, y, opciones) {
        this.desPausar();
        this.sanitizarOpciones(opciones);
        super(this.animacionPara(this.opciones.grilla), x, y);
        this.z = this.escena.minZ() - 1;

        this.setupAnimacion();

        this.objetosRecogidos = [];
        this.habilidadesSuspendidas = [];
        this.pilaAnimaciones = [];
    }

    acelerarLaVelocidadDeLasAnimaciones() {
        // TODO: pasar esto a pilasweb (como minimo a la _imagen)
        this.velocidadOriginalDeLasAnimaciones = {};
        for (var nombre in this._imagen.animaciones) {
            this.velocidadOriginalDeLasAnimaciones[nombre] = this._imagen.animaciones[nombre].velocidad;
            this._imagen.animaciones[nombre].velocidad = 60;
        }
    }

    restaurarLaVelocidadDeLasAnimaciones() {
        // TODO: pasar esto a pilasweb (como minimo a la _imagen)
        if (this.velocidadOriginalDeLasAnimaciones) {
            for (var nombre in this._imagen.animaciones) {
                this._imagen.animaciones[nombre].velocidad = this.velocidadOriginalDeLasAnimaciones[nombre];
            }
        }
    }

    pre_actualizar(){<commit_msg>Chau método que se asaron a pilasweb<commit_after>/// <reference path = "../../../bower_components/pilasweb/dist/pilasweb.d.ts" />
/// <reference path = "../habilidades/Animar.ts" />
/// <reference path = "../escenas/Errores.ts" />

/**
 * @class ActorAnimado
 *
 * Representa un actor que tiene una animación cuando se mueve.
 * Las opciones deben incluir la grilla (imagen) y la cantidad de cuadros que tiene,
 * ó bien la grilla y la lista de cuadros que representan la animación. También puede
 * incluir el cuadroEstatico, que es el cuadro que se muestra al estar parado.
 *
 * Por ejemplo:
 *      @example
 *      miActor = new ActorAnimado(0,0,...documentación en ptrogreso...);
 *      miActor.hacer_luego(CaminaDerecha,{pasos: 2});
 */
class ActorAnimado extends Actor {
    opciones;
    _casillaActual;
    cuadricula;
    objetosRecogidos;
    pausado;
    habilidadesSuspendidas;
    pilaAnimaciones;
    velocidadOriginalDeLasAnimaciones;


    constructor(x, y, opciones) {
        this.desPausar();
        this.sanitizarOpciones(opciones);
        super(this.animacionPara(this.opciones.grilla), x, y);
        this.z = this.escena.minZ() - 1;

        this.setupAnimacion();

        this.objetosRecogidos = [];
        this.habilidadesSuspendidas = [];
        this.pilaAnimaciones = [];
    }

    pre_actualizar(){
{'fraction_non_alphanumeric': 0.11511423550087874, 'fraction_numerical': 0.0029291154071470417, 'mean_word_length': 2.8113839285714284, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1876340', 'n_tokens_mistral': 1159, 'n_tokens_neox': 1136, 'n_words': 250}