コード例 #1
0
ファイル: transit.py プロジェクト: Cuick/traversing
from gfirefly.utils.services import CommandService
from gfirefly.server.globalobject import GlobalObject
from gfirefly.server.logobj import logger
from gfirefly.server.globalobject import remoteserviceHandle
from app.gate.core.virtual_character_manager import VCharacterManager

remoteservice = CommandService('transitremote')
GlobalObject().remote['transit']._reference.addService(remoteservice)
groot = GlobalObject().root


@remoteserviceHandle('transit')
def pull_message_remote(key, character_id, args):
    oldvcharacter = VCharacterManager().get_by_id(character_id)
    logger.debug("pull_message_remote =============,args:%s", args)
    if oldvcharacter:
        if isinstance(args, tuple):
            args = (key, oldvcharacter.dynamic_id) + args + (False, )
        else:
            args = (key, oldvcharacter.dynamic_id, args, False)
        logger.debug(args)
        logger.debug(oldvcharacter.node)
        child_node = groot.child(oldvcharacter.node)
        result = child_node.callbackChild(*args)
        # logger('gate found character to pull message:%s %s %s',
        #        oldvcharacter.__dict__, args, result)
        return result
    else:
        return False
コード例 #2
0
# -*- coding:utf-8 -*-
'''
created by server on 14-5-19下午8:51.
'''
from gfirefly.server.globalobject import GlobalObject
from gfirefly.utils.services import CommandService


nodeservice = CommandService('nodeservice')


def nodeservice_handle(target):
    """服务处理,添加处理函数
    @param target: func Object
    """
    nodeservice.mapTarget(target)

noderemote = GlobalObject().remote['gate']
noderemote._reference.addService(nodeservice)
コード例 #3
0
# -*- coding:utf-8 -*-
"""
created by sphinx on 
"""
from gfirefly.server.globalobject import GlobalObject
from gfirefly.utils.services import CommandService


login_service = CommandService("LoginService")
GlobalObject().netfactory.addServiceChannel(login_service)
コード例 #4
0
ファイル: gatenodeservice.py プロジェクト: chekwind/gSoccer
#coding:utf8
'''
Created on 2014-1-17

@author: CC
'''

from gfirefly.server.globalobject import GlobalObject
from gfirefly.utils.services import CommandService

remoteservice = CommandService("gateremote")
GlobalObject().remote['gate']._reference.addService(remoteservice)


def remoteserviceHandle(target):
    """
	"""
    remoteservice.mapTarget(target)
コード例 #5
0
#coding=utf-8
from gfirefly.server.globalobject import GlobalObject
from gfirefly.utils.services import CommandService
from gfirefly.server.logobj import log
from app.game_node.core.playermanager import PlayerManager

#自定义服务器通道
gamecommandservice = CommandService("gamecommandservice")
setattr(GlobalObject(), "gamecommandservice", gamecommandservice)

#导入逻辑接口
from api import common_api

def stopHandler():
    """
    服务器关闭处理
    :return:
    """
    log.msg(u'server %s is stop ing...' % GlobalObject().json_config['name'])
    log.msg(u'syncdb...')
    for player in PlayerManager().getAllPlayers().values():
        log.msg("%s sync player %s" % (GlobalObject().json_config['name'], player.uid))
        player.saveDataToDb()


GlobalObject().stophandler = stopHandler

log.msg("game api: %s" % gamecommandservice._targets.keys())