示例#1
0
    protected override void postHandle(EzyApp app, EzyArray data)
    {
        var request = EzyEntityFactory.newObject();

        request.put("gameName", SocketClientProxy.GAME_NAME);
        app.send("reconnect", request);
    }
示例#2
0
        public override void handle(EzyArray data)
        {
            int      appId        = data.get <int>(0);
            EzyArray commandData  = data.get <EzyArray>(1);
            String   cmd          = commandData.get <String>(0);
            EzyData  responseData = commandData.get <EzyData>(1, null);

            EzyApp app = client.getAppById(appId);

            if (app == null)
            {
                logger.info("receive message when has not joined app yet");
                return;
            }
            EzyAppDataHandler dataHandler = app.getDataHandler(cmd);

            if (dataHandler != null)
            {
                dataHandler.handle(app, responseData);
            }
            else
            {
                logger.warn("app: " + app.getName() + " has no handler for command: " + cmd);
            }
        }
示例#3
0
        public void handle(EzyApp app, EzyData d)
        {
            EzyArray pos = EzyEntityFactory.newArrayBuilder()
                           .append(1.0D, 2.0D, 3.0D)
                           .build();

            app.send(Commands.SYNC_POSITION, pos);
        }
示例#4
0
        protected override void onAuthenticated(EzyArray data)
        {
            EzyApp app = client.getZone().getApp();

            app.udpSend("udpGreet", EzyEntityFactory.newObjectBuilder()
                        .append("who", "Dzung")
                        .build());
        }
        public EzyApp getAppByName(String appName)
        {
            EzyApp app = null;

            if (appsByName.ContainsKey(appName))
            {
                app = appsByName[appName];
            }
            return(app);
        }
        public EzyApp getAppById(int appId)
        {
            EzyApp app = null;

            if (appsById.ContainsKey(appId))
            {
                app = appsById[appId];
            }
            return(app);
        }
        public EzyApp getApp()
        {
            if (appList.Count == 0)
            {
                throw new ArgumentException("has no app in zone: " + zoneName);
            }
            EzyApp app = appList[0];

            return(app);
        }
示例#8
0
 public EzyApp getAppById(int appId)
 {
     if (zone != null)
     {
         EzyAppManager appManager = zone.getAppManager();
         EzyApp        app        = appManager.getAppById(appId);
         return(app);
     }
     return(null);
 }
示例#9
0
        public override void handle(EzyArray data)
        {
            EzyZone       zone       = client.getZone();
            EzyAppManager appManager = zone.getAppManager();
            EzyApp        app        = newApp(zone, data);

            appManager.addApp(app);
            postHandle(app, data);
            logger.info("access app: " + app.getName() + " successfully");
        }
        public EzyApp removeApp(int appId)
        {
            EzyApp app = null;

            if (appsById.ContainsKey(appId))
            {
                app = appsById[appId];
                appsById.Remove(appId);
                appsByName.Remove(app.getName());
                appList.Remove(app);
            }
            return(app);
        }
        public override void handle(EzyArray data)
        {
            EzyZone       zone       = client.getZone();
            EzyAppManager appManager = zone.getAppManager();
            int           appId      = data.get <int>(0);
            int           reasonId   = data.get <int>(1);
            EzyApp        app        = appManager.removeApp(appId);

            if (app != null)
            {
                postHandle(app, data);
                logger.info("user exit app: " + app + ", reason: " + reasonId);
            }
        }
示例#12
0
        public void handle(EzyApp app, EzyData d)
        {
            EzyObject data          = (EzyObject)d;
            long      currentRoomId = data.get <long>("currentRoomId");

            if (currentRoomId <= 0)
            {
                app.send(Commands.JOIN_OR_CREATE_ROOM);
            }
            else
            {
                app.send(Commands.RECONNECT);
            }
        }
 protected abstract void process(EzyApp app, D data);
示例#14
0
 protected virtual void postHandle(EzyApp app, EzyArray data)
 {
 }
 public void addApp(EzyApp app)
 {
     this.appList.Add(app);
     this.appsById[app.getId()]     = app;
     this.appsByName[app.getName()] = app;
 }
示例#16
0
 public void handle(EzyApp app, EzyData d)
 {
     //System.out.println("syn pos: " + data);
 }
示例#17
0
 protected override void postHandle(EzyApp app, EzyArray data)
 {
     //app.send(Commands.ACCESS_LOBBY_ROOM);
     //this.client.send(new EzyAppExitRequest(app.getId()));
     this.client.udpConnect(2611);
 }
 public void handle(EzyApp app, EzyData data)
 {
     process(app, (D)data);
 }
示例#19
0
 protected override void process(EzyApp app, EzyObject data)
 {
     SocketClientProxy.getInstance().emitStartGame(data);
 }