/// <reference path="../../../Crafty/crafty.d.ts" />

module CraftyJS {
    export interface Static {
        e(component: 'Player'): PlayerEntity;
    }

    export interface PlayerComponent<T> extends TextComponent<T>, Core<T> {
    }

    export interface PlayerEntity extends PlayerComponent<PlayerEntity> {
    }

    export interface AnyEntity extends PlayerComponent<AnyEntity> {
    }
}

(function () {
    var player: CraftyJS.PlayerEntity;
    Crafty.init(600, 900, 'game');

    Crafty.c('Player', {
        init: function () {
            var self: CraftyJS.PlayerEntity = this;
            self.addComponent('DOM', '2D', 'Text');
        }
    });

    player = Crafty.e('Player')
        .attr({
            x: 0,
            y: 0,
            h: 900,
            w: 600
        })
        .text('Made with TypeScript')
        .textFont({
            size: '40px'
        });
})();
