define("BonusInfoPanelApi", ["componentmodelComponentApi", "gameLayoutApi", "wildFuryAnimationPort", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, gameLayoutApi, wildFuryAnimationPort, clientkernelEventbusApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof BonusInfoPanelApi == 'undefined') {
            var BonusInfoPanelApi = {};
        };
        BonusInfoPanelApi.BonusInfoPanelDeclaration = function() {};
        BonusInfoPanelApi.BonusInfoPanelDeclaration = ck_implements(BonusInfoPanelApi.BonusInfoPanelDeclaration, componentmodelComponentApi.IComponentDeclaration);
        BonusInfoPanelApi.BonusInfoPanelDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        BonusInfoPanelApi.BonusInfoPanelDeclaration.__name__ = ["BonusInfoPanelApi", "BonusInfoPanelDeclaration"];
        BonusInfoPanelApi.BonusInfoPanelDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        BonusInfoPanelApi.BonusInfoPanelDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        BonusInfoPanelApi.BonusInfoPanelDeclaration.prototype.getImplementedPorts = function() {
            return [BonusInfoPanelApi.IBonusInfoPanelImplementationPort];
        };
        BonusInfoPanelApi.BonusInfoPanelDeclaration.prototype.getUsedPorts = function() {
            return [BonusInfoPanelApi.IBonusInfoPanelPort, gameLayoutApi.IGameLayoutPort, wildFuryAnimationPort.IAnimationPort];
        };
        BonusInfoPanelApi.BonusInfoPanelDeclaration.prototype.__class__ = BonusInfoPanelApi.BonusInfoPanelDeclaration;
        BonusInfoPanelApi.BonusInfoPanelPortFactory = function() {};
        BonusInfoPanelApi.BonusInfoPanelPortFactory = ck_implements(BonusInfoPanelApi.BonusInfoPanelPortFactory, componentmodelComponentApi.IPortFactory);
        BonusInfoPanelApi.BonusInfoPanelPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        BonusInfoPanelApi.BonusInfoPanelPortFactory.__name__ = ["BonusInfoPanelApi", "BonusInfoPanelPortFactory"];
        BonusInfoPanelApi.BonusInfoPanelPortFactory.prototype.provide = function(channel) {
            return new BonusInfoPanelApi.BonusInfoPanelPortImpl(channel);
        };
        BonusInfoPanelApi.BonusInfoPanelPortFactory.prototype["use"] = function(channel) {
            return new BonusInfoPanelApi.BonusInfoPanelPortImpl(channel);
        };
        BonusInfoPanelApi.BonusInfoPanelPortFactory.prototype.__class__ = BonusInfoPanelApi.BonusInfoPanelPortFactory;

        BonusInfoPanelApi.IBonusInfoPanelPort = function() {}
        BonusInfoPanelApi.IBonusInfoPanelPort.prototype = {

            show: function(value) {
                return {
                    arguments: ["array"],
                    returns: "void"
                };
            },
            updateFreeSpinsCounter: function(value) {
                return {
                    arguments: ["number"],
                    returns: "void"
                };
            },
            updateWildsCounter: function(value) {
                return {
                    arguments: ["number"],
                    returns: "void"
                };
            },
            hide: function() {
                return {
                    arguments: [],
                    returns: "void"
                };
            },
            updateJackpotLevel: function(value) {
                return {
                    arguments: ["number"],
                    returns: "void"
                };
            }
        };

        BonusInfoPanelApi.IBonusInfoPanelImplementationPort = function() {}
        BonusInfoPanelApi.IBonusInfoPanelImplementationPort.prototype = {

            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateFreeSpinsCounter: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateWildsCounter: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateJackpotLevel: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl = function(bus) {
            this.updateJackpotLevelTopic = new clientkernelEventbusApi.Topic("BonusInfoPanel:updateJackpotLevel");
            this.updateWildsCounterTopic = new clientkernelEventbusApi.Topic("BonusInfoPanel:updateWildsCounter");
            this.updateFreeSpinsCounterTopic = new clientkernelEventbusApi.Topic("BonusInfoPanel:updateFreeSpinsCounter");
            this.showTopic = new clientkernelEventbusApi.Topic("BonusInfoPanel:show");
            this.hideTopic = new clientkernelEventbusApi.Topic("BonusInfoPanel:hide");
            this.hideTopic.connect(bus);
            this.showTopic.connect(bus);
            this.updateFreeSpinsCounterTopic.connect(bus);
            this.updateWildsCounterTopic.connect(bus);
            this.updateJackpotLevelTopic.connect(bus);
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl = ck_implements(BonusInfoPanelApi.BonusInfoPanelPortImpl, BonusInfoPanelApi.IBonusInfoPanelPort);
        BonusInfoPanelApi.BonusInfoPanelPortImpl = ck_implements(BonusInfoPanelApi.BonusInfoPanelPortImpl, BonusInfoPanelApi.IBonusInfoPanelImplementationPort);
        BonusInfoPanelApi.BonusInfoPanelPortImpl.__interfaces__ = [BonusInfoPanelApi.IBonusInfoPanelPort, BonusInfoPanelApi.IBonusInfoPanelImplementationPort];
        BonusInfoPanelApi.BonusInfoPanelPortImpl.__name__ = ["BonusInfoPanelApi", "BonusInfoPanelPortImpl"];
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.hideTopic = null;
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.showTopic = null;
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.updateFreeSpinsCounterTopic = null;
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.updateWildsCounterTopic = null;
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.updateJackpotLevelTopic = null;
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.show = function(value) {
            this.getShow().publish(value);
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.updateFreeSpinsCounter = function(value) {
            this.getUpdateFreeSpinsCounter().publish(value);
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.updateWildsCounter = function(value) {
            this.getUpdateWildsCounter().publish(value);
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.hide = function() {
            this.getHide().publish(null);
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.updateJackpotLevel = function(value) {
            this.getUpdateJackpotLevel().publish(value);
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.getShow = function() {
            return this.showTopic;
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.getUpdateFreeSpinsCounter = function() {
            return this.updateFreeSpinsCounterTopic;
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.getUpdateWildsCounter = function() {
            return this.updateWildsCounterTopic;
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.getUpdateJackpotLevel = function() {
            return this.updateJackpotLevelTopic;
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.getHide = function() {
            return this.hideTopic;
        };
        BonusInfoPanelApi.BonusInfoPanelPortImpl.prototype.__class__ = BonusInfoPanelApi.BonusInfoPanelPortImpl;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

        };
        return {
            exports: BonusInfoPanelApi
        };
    });
//# sourceURL=wildFuryBonusInfoPanelApi.js