Exemplo n.º 1
0
        public static bool CriaJogo(string idJogo, string mapPath, string configPath, string modoJogo)
        {
            //Vai ver se o jogo já existe
             Jogo antigo = Jogo.GetJogo(idJogo, ServerMain._lstJogos);

             //Caso já exista
             if (antigo != null)
             {
            return false;
             }

             try
             {
            //Caso esteja tudo okey cria e adiciona o jogo
            Jogo jogo = new Jogo(idJogo, mapPath, configPath, modoJogo, ServerMain._minhaIdentificacao);

            //Se nao for um jogo centralizado
            if (jogo.ModoJogo.Equals(Configuration.MODO_C) == false)
            {
               Configuration.Debug(Configuration.DEBUG_CRIAR_JOGO_REPARTIDO, Configuration.PRI_MIN);

               //Distribuo a responsabilidade das salas
               jogo.DistribuiJogoPorServidores(ServerMain.ServidoresVivos, ServerMain._minhaIdentificacao);

               //Distribui o jogo por todos os servidores
               MensagemServidor msg = MensagemServidor.AdicionaNovoJogoSistema(ServerMain._minhaIdentificacao, Mensagem.IPBROADCAST, jogo);
               ComunicacaoServidor.MeteMensagemParaEnviar(msg);
            }

            //E agora vou enviar o jogo para todos os outros servidores
            ServerMain._lstJogos.Add(jogo);
            Configuration.Debug("Foi criado o jogo: " + idJogo, Configuration.PRI_MED);
             }

             catch (FileNotFoundException ex)
             {
            Configuration.Debug("Ficheiro de mapa ou configuracao invalido {0}" + ex.Message, Configuration.PRI_MAX);
            return false;
             }

             return true;
        }
Exemplo n.º 2
0
 public static MensagemServidor AdicionaNovoJogoSistema(string idOrigem, string idDestino, Jogo jogo)
 {
     string idCliente = "Nao 'e importante saber quem criou o jogo";
      MensagemServidor mensagem = new MensagemServidor(idCliente, idOrigem, idDestino, Mensagem.ADICIONANOVOJOGOSISTEMA);
      mensagem._novoJogo = jogo;
      return mensagem;
 }
Exemplo n.º 3
0
 internal static void InsereNovoJogoSistema(Jogo jogo)
 {
     ServerMain._lstJogos.Add(jogo);
 }