Пример #1
0
    def check(self, controller, request, callback):
        world_service = WorldService_Stub(channels.world_channel)

        check_request = world_service_pb2.CheckRequest()
        check_request.entity_id = controller.environ['player_id']
        check_request.checkpoint = request.checkpoint
        world_service.Check(controller, check_request)
Пример #2
0
    def EntityGroupChanged(self, controller, event, callback):
        entity_service = EntityService_Stub(channels.entity_channel)
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)
        world_service = WorldService_Stub(channels.world_channel)

        entity = Entity()
        entity.id = event.entity_id
        entity = entity_service.GetEntity(controller, entity)

        list_request = ListRequest()
        id_list = world_service.GetRelevantEntityList(controller, entity)
        list_request.entity_ids.extend(id_list.ids)
        controller.player_ids = [entity.id]
        browserquest_stub.list(controller, list_request)

        spawn = SpawnRequest()
        spawn.entity_id = entity.id
        spawn.kind = entity.kind
        spawn.x = entity.x
        spawn.y = entity.y
        spawn.name = entity.name
        spawn.orientation = 1
        spawn.armor = entity.armor
        spawn.weapon = entity.weapon
        id_list = world_service.GetAdjacentPlayerList(controller, entity)
        controller.player_ids = id_list.ids
        browserquest_stub.spawn(controller, spawn)

        destroy = DestroyRequest()
        destroy.entity_id = entity.id
        id_list = world_service.GetRecentlyLeftGroupPlayerList(controller, entity)
        controller.player_ids = id_list.ids
        browserquest_stub.destroy(controller, destroy)
Пример #3
0
    def attack(self, controller, request, callback):
        world_service = WorldService_Stub(channels.world_channel)

        attack_request = world_service_pb2.AttackRequest()
        attack_request.attack_id = controller.environ['player_id']
        attack_request.target_id = request.target_id
        world_service.Attack(controller, attack_request)
Пример #4
0
    def move(self, controller, request, callback):
        world_service = WorldService_Stub(channels.world_channel)

        move_request = world_service_pb2.MoveRequest()
        move_request.entity_id = controller.environ['player_id']
        move_request.x = request.entity_x
        move_request.y = request.entity_y
        world_service.Move(controller, move_request)
Пример #5
0
    def Attack(self, controller, event, callback):
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)
        world_service = WorldService_Stub(channels.world_channel)

        attack_request = AttackRequest()
        attack_request.attacker_id = event.attack_id
        attack_request.target_id = event.target_id
        entity = Entity()
        entity.id = event.attack_id
        id_list = world_service.GetAdjacentPlayerList(controller, entity)
        controller.player_ids = id_list.ids
        browserquest_stub.attack(controller, attack_request)
Пример #6
0
    def EntityMove(self, controller, event, callback):
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)
        world_service = WorldService_Stub(channels.world_channel)

        move_request = MoveRequest()
        move_request.entity_id = event.entity_id
        move_request.entity_x = event.x
        move_request.entity_y = event.y
        entity = Entity()
        entity.id = event.entity_id
        id_list = world_service.GetAdjacentPlayerList(controller, entity)
        controller.player_ids = id_list.ids
        browserquest_stub.move(controller, move_request)
Пример #7
0
    def PopulationUpdate(self, controller, event, callback):
        world_service = WorldService_Stub(channels.world_channel)
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)

        world = World()
        world.id = event.world_id
        id_list = world_service.GetWorldPlayerList(controller, world)

        population = PopulationRequest()
        population.world = event.world_id
        population.total = event.population
        controller.player_ids = id_list.ids
        browserquest_stub.population(controller, population)
Пример #8
0
    def zone(self, controller, request, callback):
        world_service = WorldService_Stub(channels.world_channel)
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)

        zone_request = world_service_pb2.ZoneRequest()
        zone_request.entity_id = controller.environ['player_id']
        world_service.Zone(controller, zone_request)

        player = Player()
        player.id = controller.environ['player_id']
        id_list = world_service.GetRelevantEntityList(controller, player)
        list_request = ListRequest()
        list_request.entity_ids.extend(id_list.ids)
        controller.player_ids = [player.id]
        browserquest_stub.list(controller, list_request)
Пример #9
0
    def hit(self, controller, request, callback):
        world_service = WorldService_Stub(channels.world_channel)
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)

        world_damage_request = world_service_pb2.DamageRequest()
        world_damage_request.attack_id = controller.environ['player_id']
        world_damage_request.target_id = request.mob_id
        damage_response = world_service.Damage(controller,
                                               world_damage_request)

        damage_request = DamageRequest()
        damage_request.entity_id = request.mob_id
        damage_request.damage = damage_response.damage
        controller.player_ids = [controller.environ['player_id']]
        browserquest_stub.damage(controller, damage_request)
Пример #10
0
    def teleport(self, controller, request, callback):
        world_service = WorldService_Stub(channels.world_channel)
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)

        teleport_request = world_service_pb2.TeleportRequest()
        teleport_request.entity_id = controller.environ['player_id']
        teleport_request.x = request.x
        teleport_request.y = request.y
        world_service.Teleport(controller, teleport_request)

        player = Player()
        player.id = controller.environ['player_id']
        list_request = ListRequest()
        id_list = world_service.GetRelevantEntityList(controller, player)
        list_request.entity_ids.extend(id_list.ids)
        controller.player_ids = [player.id]
        browserquest_stub.list(controller, list_request)
Пример #11
0
    def hurt(self, controller, request, callback):
        world_service = WorldService_Stub(channels.world_channel)
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)
        entity_service = EntityService_Stub(channels.entity_channel)

        damage_request = world_service_pb2.DamageRequest()
        damage_request.attack_id = request.mob_id
        damage_request.target_id = controller.environ['player_id']
        damage_response = world_service.Damage(controller, damage_request)

        player = Player()
        player.id = controller.environ['player_id']
        playerentity_service.GetPlayer(controller, player)

        health_request = HealthRequest()
        health_request.hitpoints = player.hitpoints
        controller.player_ids = [player.id]
        browserquest_stub.health(controller, health_request)
Пример #12
0
    def Kill(self, controller, event, callback):
        world_service = WorldService_Stub(channels.world_channel)
        entity_service = EntityService_Stub(channels.entity_channel)
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)

        killed_entity = Entity()
        killed_entity.id = event.killed_id
        killed_entity = entity_service.GetEntity(controller, killed_entity)

        kill_request = KillRequest()
        kill_request.mob_kind = killed_entity.kind
        controller.player_ids = [event.killer_id]
        browserquest_stub.kill(controller, kill_request)

        despawn_request = DespawnRequest()
        despawn_request.entity_id = event.killed_id
        id_list = world_service.GetAdjacentPlayerList(controller, killed_entity)
        controller.player_ids = id_list.ids
        browserquest_stub.despawn(controller, despawn_request)
Пример #13
0
    def hello(self, controller, request, callback):
        world_service = WorldService_Stub(channels.world_channel)
        event_service = EventService_Stub(channels.event_channel)
        browserquest_stub = BrowserQuest_Stub(channels.browserquest_channel)
        entity_service = EntityService_Stub(channels.entity_channel)

        _player = Player()
        _player.name = request.name
        player = entity_service.GetPlayer(controller, _player)
        if not player:
            player = entity_service.CreatePlayer(controller, _player)
            player.armor = 1
            player.weapon = 1
            entity_service.UpdateEntity(controller, player)

        # regist connection
        connections = channels.browserquest_channel.connections
        connections[player.id] = controller.connection
        controller.environ['player_id'] = player.id

        event_controller = Controller()
        player_logined_event = PlayerLoginedEvent()
        player_logined_event.player_id = player.id
        event_service.PlayerLogined(event_controller, player_logined_event)

        player_join_request = world_service_pb2.PlayerJoinRequest()
        player_join_request.player_id = player.id
        player_join_response = world_service.PlayerJoin(
            controller, player_join_request)

        welcome = WelcomeRequest()
        welcome.player_id = player.id
        welcome.name = request.name
        welcome.x = player_join_response.x
        welcome.y = player_join_response.y
        welcome.hitpoints = player_join_response.hitpoints
        controller.player_ids = [player_join_response.player_id]
        browserquest_stub.welcome(controller, welcome)