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; }
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; }
internal static void InsereNovoJogoSistema(Jogo jogo) { ServerMain._lstJogos.Add(jogo); }