define("scarabViewManagerApi", ["componentmodelComponentApi", "gameLayoutApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, gameLayoutApi, 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 scarabViewManagerApi == 'undefined') {
            var scarabViewManagerApi = {};
        };
        scarabViewManagerApi.ViewManagerDeclaration = function() {};
        scarabViewManagerApi.ViewManagerDeclaration = ck_implements(scarabViewManagerApi.ViewManagerDeclaration, componentmodelComponentApi.IComponentDeclaration);
        scarabViewManagerApi.ViewManagerDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        scarabViewManagerApi.ViewManagerDeclaration.__name__ = ["scarabViewManagerApi", "ViewManagerDeclaration"];
        scarabViewManagerApi.ViewManagerDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        scarabViewManagerApi.ViewManagerDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        scarabViewManagerApi.ViewManagerDeclaration.prototype.getImplementedPorts = function() {
            return [scarabViewManagerApi.IViewManagerImplementationPort];
        };
        scarabViewManagerApi.ViewManagerDeclaration.prototype.getUsedPorts = function() {
            return [scarabViewManagerApi.IViewManagerPort, gameLayoutApi.IGameLayoutPort];
        };
        scarabViewManagerApi.ViewManagerDeclaration.prototype.__class__ = scarabViewManagerApi.ViewManagerDeclaration;

        scarabViewManagerApi.IViewManagerImplementationPort = function() {}
        scarabViewManagerApi.IViewManagerImplementationPort.prototype = {

            getActivate: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShake: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getDeActivate: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getReset: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getCompleted: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdated: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        scarabViewManagerApi.IViewManagerPort = function() {}
        scarabViewManagerApi.IViewManagerPort.prototype = {

            getActivate: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShake: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getDeActivate: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getReset: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getCompleted: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdated: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        scarabViewManagerApi.ViewManagerPort = function(bus) {
            this.updated = new clientkernelEventbusApi.Topic("viewManager:updated");
            this.completed = new clientkernelEventbusApi.Topic("viewManager:completed");
            this.show = new clientkernelEventbusApi.Topic("viewManager:show");
            this.hide = new clientkernelEventbusApi.Topic("viewManager:hide");
            this.reset = new clientkernelEventbusApi.Topic("viewManager:reset");
            this.deactivate = new clientkernelEventbusApi.Topic("viewManager:deactivate");
            this.shake = new clientkernelEventbusApi.Topic("viewManager:shake");
            this.activate = new clientkernelEventbusApi.Topic("viewManager:activate");
            this.activate.connect(bus);
            this.deactivate.connect(bus);
            this.shake.connect(bus);
            this.hide.connect(bus);
            this.show.connect(bus);
            this.completed.connect(bus);
            this.updated.connect(bus);
            this.reset.connect(bus);
        };
        scarabViewManagerApi.ViewManagerPort = ck_implements(scarabViewManagerApi.ViewManagerPort, scarabViewManagerApi.IViewManagerPort);
        scarabViewManagerApi.ViewManagerPort = ck_implements(scarabViewManagerApi.ViewManagerPort, scarabViewManagerApi.IViewManagerImplementationPort);
        scarabViewManagerApi.ViewManagerPort.__interfaces__ = [scarabViewManagerApi.IViewManagerPort, scarabViewManagerApi.IViewManagerImplementationPort];
        scarabViewManagerApi.ViewManagerPort.__name__ = ["scarabViewManagerApi", "ViewManagerPort"];
        scarabViewManagerApi.ViewManagerPort.prototype.activate = null;
        scarabViewManagerApi.ViewManagerPort.prototype.shake = null;
        scarabViewManagerApi.ViewManagerPort.prototype.deactivate = null;
        scarabViewManagerApi.ViewManagerPort.prototype.reset = null;
        scarabViewManagerApi.ViewManagerPort.prototype.hide = null;
        scarabViewManagerApi.ViewManagerPort.prototype.show = null;
        scarabViewManagerApi.ViewManagerPort.prototype.completed = null;
        scarabViewManagerApi.ViewManagerPort.prototype.updated = null;
        scarabViewManagerApi.ViewManagerPort.prototype.getActivate = function() {
            return this.activate;
        };
        scarabViewManagerApi.ViewManagerPort.prototype.getDeActivate = function() {
            return this.deactivate;
        };
        scarabViewManagerApi.ViewManagerPort.prototype.getShow = function() {
            return this.show;
        };
        scarabViewManagerApi.ViewManagerPort.prototype.getHide = function() {
            return this.hide;
        };
        scarabViewManagerApi.ViewManagerPort.prototype.getCompleted = function() {
            return this.completed;
        };
        scarabViewManagerApi.ViewManagerPort.prototype.getUpdated = function() {
            return this.updated;
        };
        scarabViewManagerApi.ViewManagerPort.prototype.getReset = function() {
            return this.reset;
        };
        scarabViewManagerApi.ViewManagerPort.prototype.getShake = function() {
            return this.shake;
        };
        scarabViewManagerApi.ViewManagerPort.prototype.__class__ = scarabViewManagerApi.ViewManagerPort;
        scarabViewManagerApi.ViewManagerPortFactory = function() {};
        scarabViewManagerApi.ViewManagerPortFactory = ck_implements(scarabViewManagerApi.ViewManagerPortFactory, componentmodelComponentApi.IPortFactory);
        scarabViewManagerApi.ViewManagerPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        scarabViewManagerApi.ViewManagerPortFactory.__name__ = ["scarabViewManagerApi", "ViewManagerPortFactory"];
        scarabViewManagerApi.ViewManagerPortFactory.prototype.provide = function(channel) {
            return new scarabViewManagerApi.ViewManagerPort(channel);
        };
        scarabViewManagerApi.ViewManagerPortFactory.prototype["use"] = function(channel) {
            return new scarabViewManagerApi.ViewManagerPort(channel);
        };
        scarabViewManagerApi.ViewManagerPortFactory.prototype.__class__ = scarabViewManagerApi.ViewManagerPortFactory;
        scarabViewManagerApi.ShakeProperties = function(scenarioId, multiplier, limit, step, time) {
            this.time = time;
            this.step = step;
            this.limit = limit;
            this.multiplier = multiplier;
            this.scenarioId = scenarioId;
        };
        scarabViewManagerApi.ShakeProperties.__name__ = ["scarabViewManagerApi", "ShakeProperties"];
        scarabViewManagerApi.ShakeProperties.prototype.scenarioId = null;
        scarabViewManagerApi.ShakeProperties.prototype.multiplier = null;
        scarabViewManagerApi.ShakeProperties.prototype.limit = null;
        scarabViewManagerApi.ShakeProperties.prototype.step = null;
        scarabViewManagerApi.ShakeProperties.prototype.time = null;
        scarabViewManagerApi.ShakeProperties.prototype.__class__ = scarabViewManagerApi.ShakeProperties;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

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

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