private void MakeContainerOnRooms(NeutronChannel channel) { foreach (NeutronRoom room in channel.GetRooms()) { MakeProperties(room); //* Cria um master/dono para a sala padrão..... MakeVirtualOwner(room, channel, room); //* Inicializa as salas padrão definidas no inspetor. MakeRoomContainer(room); } }
private void MakeVirtualOwner(INeutronMatchmaking matchmaking, NeutronChannel channel, NeutronRoom room) { if (matchmaking.Owner != null) { LogHelper.Error("Matchmaking already has an owner!"); } else { //* Não pode aproveitar o Neutron.Server.Player? não, não podemos compartilhar a mesma instância pra vários matchmaking, um jogador só pode está em um Matchmaking ao mesmo tempo. NeutronPlayer player = PlayerHelper.MakeTheServerPlayer(); player.Channel = channel; player.Room = room; player.Matchmaking = MatchmakingHelper.Matchmaking(player); matchmaking.Owner = player; //! reforço: um jogador só pode está em um Matchmaking ao mesmo tempo. } }
protected virtual void OnPlayerJoinedChannel(NeutronChannel channel, NeutronPlayer player, bool isMine, Neutron neutron) { }