public override void Initialize(IServer server)
    {
        AuthModule     = server.GetModule <AuthModule>();
        RoomsModule    = server.GetModule <RoomsModule>();
        SpawnersModule = server.GetModule <SpawnersModule>();

        // Add game server handlers
        server.SetHandler(WorldDemoOpCodes.TeleportRequest, HandleTeleportRequest);

        // Add client handlers
        server.SetHandler(WorldDemoOpCodes.EnterWorldRequest, HandleEnterWorldRequest);
        server.SetHandler(WorldDemoOpCodes.GetCurrentZoneAccess, HandleGetZoneAccess);

        //----------------------------------------------
        // Spawn game servers (zones)

        // Find a spawner
        var spawner = SpawnersModule.GetSpawners().FirstOrDefault();

        if (spawner != null)
        {
            // We found a spawner we can use
            SpawnZoneServers(spawner);
        }
        else
        {
            // Spawners are not yet registered to the master,
            // so let's listen to an event and wait for them
            SpawnersModule.SpawnerRegistered += registeredSpawner =>
            {
                // Ignore if zones are already spawned
                if (_areZonesSpawned)
                {
                    return;
                }

                // Spawn the zones
                SpawnZoneServers(registeredSpawner);

                _areZonesSpawned = true;
            };
        }
    }
Ejemplo n.º 2
0
 public override void Initialize(IServer server)
 {
     roomsModule    = server.GetModule <RoomsModule>();
     spawnersModule = server.GetModule <SpawnersModule>();
 }