define("wolfRunComponentsWinlinesPort", ["componentmodelComponentApi", "slotModelApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, slotModelApi, 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 wolfRunComponentsWinlinesPort == 'undefined') {
            var wolfRunComponentsWinlinesPort = {};
        };

        wolfRunComponentsWinlinesPort.IWinLinesImplementationPort = function() {}
        wolfRunComponentsWinlinesPort.IWinLinesImplementationPort.prototype = {

            getShowOutcome: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHideOutcome: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getWinLineCycleStarted: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getWinLineCycleAnimated: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getCurrentWin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            setAnimationsSkin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            setVisible: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        wolfRunComponentsWinlinesPort.IWinLinesPort = function() {}
        wolfRunComponentsWinlinesPort.IWinLinesPort.prototype = {

            getShowOutcome: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHideOutcome: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getWinLineCycleStarted: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getWinLineCycleAnimated: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getCurrentWin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            setAnimationsSkin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            setVisible: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        wolfRunComponentsWinlinesPort.WinLinesPort = function(bus) {
            this.win = new clientkernelEventbusApi.Topic("winlines:currentWinLine");
            this.winLineCycleAnimated = new clientkernelEventbusApi.Topic("winlines:winLineCycleAnimated");
            this.winLineCycleStarted = new clientkernelEventbusApi.Topic("winlines:winLineCycleStarted");
            this._setVisible = new clientkernelEventbusApi.Topic("winlines:setVisible");
            this._setAnimationsSkin = new clientkernelEventbusApi.Topic("winlines:setAnimationsSkin");
            this.hideOutcome = new clientkernelEventbusApi.Topic("winlines:hideOutcome");
            this.showOutcome = new clientkernelEventbusApi.Topic("winlines:showOutcome");
            this.showOutcome.connect(bus);
            this.hideOutcome.connect(bus);
            this.winLineCycleStarted.connect(bus);
            this.winLineCycleAnimated.connect(bus);
            this.win.connect(bus);
            this._setAnimationsSkin.connect(bus);
            this._setVisible.connect(bus);
        };
        wolfRunComponentsWinlinesPort.WinLinesPort = ck_implements(wolfRunComponentsWinlinesPort.WinLinesPort, wolfRunComponentsWinlinesPort.IWinLinesPort);
        wolfRunComponentsWinlinesPort.WinLinesPort = ck_implements(wolfRunComponentsWinlinesPort.WinLinesPort, wolfRunComponentsWinlinesPort.IWinLinesImplementationPort);
        wolfRunComponentsWinlinesPort.WinLinesPort.__interfaces__ = [wolfRunComponentsWinlinesPort.IWinLinesPort, wolfRunComponentsWinlinesPort.IWinLinesImplementationPort];
        wolfRunComponentsWinlinesPort.WinLinesPort.__name__ = ["wolfRunComponentsWinlinesPort", "WinLinesPort"];
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.showOutcome = null;
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.hideOutcome = null;
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype._setAnimationsSkin = null;
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype._setVisible = null;
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.winLineCycleStarted = null;
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.winLineCycleAnimated = null;
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.win = null;
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.getShowOutcome = function() {
            return this.showOutcome;
        };
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.getHideOutcome = function() {
            return this.hideOutcome;
        };
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.getWinLineCycleStarted = function() {
            return this.winLineCycleStarted;
        };
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.getWinLineCycleAnimated = function() {
            return this.winLineCycleAnimated;
        };
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.getCurrentWin = function() {
            return this.win;
        };
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.setAnimationsSkin = function() {
            return this._setAnimationsSkin;
        };
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.setVisible = function() {
            return this._setVisible;
        };
        wolfRunComponentsWinlinesPort.WinLinesPort.prototype.__class__ = wolfRunComponentsWinlinesPort.WinLinesPort;
        wolfRunComponentsWinlinesPort.WinLinesPortFactory = function() {};
        wolfRunComponentsWinlinesPort.WinLinesPortFactory = ck_implements(wolfRunComponentsWinlinesPort.WinLinesPortFactory, componentmodelComponentApi.IPortFactory);
        wolfRunComponentsWinlinesPort.WinLinesPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        wolfRunComponentsWinlinesPort.WinLinesPortFactory.__name__ = ["wolfRunComponentsWinlinesPort", "WinLinesPortFactory"];
        wolfRunComponentsWinlinesPort.WinLinesPortFactory.prototype.provide = function(channel) {
            return new wolfRunComponentsWinlinesPort.WinLinesPort(channel);
        };
        wolfRunComponentsWinlinesPort.WinLinesPortFactory.prototype["use"] = function(channel) {
            return new wolfRunComponentsWinlinesPort.WinLinesPort(channel);
        };
        wolfRunComponentsWinlinesPort.WinLinesPortFactory.prototype.__class__ = wolfRunComponentsWinlinesPort.WinLinesPortFactory;
        wolfRunComponentsWinlinesPort.ShowOutcomeOptions = function(winLineTime, highWinLineTime, spinOutcome, loop, totalBet, isLowWin) {
            this.winLineTime = winLineTime;
            this.highWinLineTime = highWinLineTime;
            this.spinOutcome = spinOutcome;
            this.loop = loop;
            this.totalBet = totalBet;
            this.isLowWin = isLowWin;
        };
        wolfRunComponentsWinlinesPort.ShowOutcomeOptions.__name__ = ["wolfRunComponentsWinlinesPort", "ShowOutcomeOptions"];
        wolfRunComponentsWinlinesPort.ShowOutcomeOptions.prototype.winLineTime = null;
        wolfRunComponentsWinlinesPort.ShowOutcomeOptions.prototype.highWinLineTime = null;
        wolfRunComponentsWinlinesPort.ShowOutcomeOptions.prototype.spinOutcome = null;
        wolfRunComponentsWinlinesPort.ShowOutcomeOptions.prototype.loop = null;
        wolfRunComponentsWinlinesPort.ShowOutcomeOptions.prototype.totalBet = null;
        wolfRunComponentsWinlinesPort.ShowOutcomeOptions.prototype.isLowWin = null;
        wolfRunComponentsWinlinesPort.ShowOutcomeOptions.prototype.__class__ = wolfRunComponentsWinlinesPort.ShowOutcomeOptions;
        wolfRunComponentsWinlinesPort.StagePayload = function(stageId, x, y, zIndex, scale) {
            if (scale == null) scale = 1;
            this.stageId = stageId;
            this.x = x;
            this.y = y;
            this.zIndex = zIndex;
            this.scale = scale;
        };
        wolfRunComponentsWinlinesPort.StagePayload.__name__ = ["wolfRunComponentsWinlinesPort", "StagePayload"];
        wolfRunComponentsWinlinesPort.StagePayload.prototype.stageId = null;
        wolfRunComponentsWinlinesPort.StagePayload.prototype.zIndex = null;
        wolfRunComponentsWinlinesPort.StagePayload.prototype.x = null;
        wolfRunComponentsWinlinesPort.StagePayload.prototype.y = null;
        wolfRunComponentsWinlinesPort.StagePayload.prototype.scale = null;
        wolfRunComponentsWinlinesPort.StagePayload.prototype.__class__ = wolfRunComponentsWinlinesPort.StagePayload;
        return {
            exports: wolfRunComponentsWinlinesPort
        };
    });
//# sourceURL=wolfRunWinLinesPort.js