Uma API de alto nível para criar jogos em rede no Unity, utiliza RevenantX/LiteNetLib
O objetivo do TinyBirdNet é criar um ambiente onde você possa facilmente adicionar rede aos jogos Unity, enquanto usa o LiteNetLib nos bastidores.
Suporta Unity 2017 e superior
A versão atual foi testada em Windows e Linux. Abra um problema se encontrar algum bug.
Adicionar a pasta TinyBirdNet em Assets ao seu projeto fornecerá tudo o que você precisa para iniciar a rede no seu jogo.
Dentro da pasta Exemplos você encontrará uma demonstração simples de funcionamento de um jogo em rede.
Você precisará de um TinyNetGameManager ou instância derivada sempre habilitado em seu jogo, então adicione um à sua primeira cena e marque-o como Don't Destroy on Load. É necessário um "ConnectKey" exclusivo para que o seu jogo possa se conectar, de preferência inclua a versão atual do seu aplicativo na sequência da chave.
O fluxo de trabalho recomendado é criar uma classe derivada de TinyNetPlayerController e implementar sua lógica de controle de jogador lá. Para cada novo jogador no jogo, um novo TinyNetPlayerController é gerado. Você pode enviar entradas entre os controladores de player do cliente e o do servidor usando um TinyNetInputMessage .
Cada GameObject que você deseja incluir código de rede deve conter um único TinyNetIdentity , depois disso, as classes que desejam incluir código de rede devem implementar ITinyNetComponent ou você pode torná-lo filho de TinyNetBehaviour para obter acesso a muitos recursos como [TinyNetSyncVar] e RPC métodos.
Ao criar classes derivadas de TinyNetBehaviour você pode aproveitar a serialização e desserialização automáticas, embora a serialização/desserialização manual e o uso de ITinyNetMessage ainda sejam possíveis.
Você pode sincronizar até 64 propriedades por TinyNetBehaviour usando o atributo [TinyNetSyncVar] . Você pode a qualquer momento ignorar esse limite implementando seus próprios métodos TinySerialize e TinyDeserialize .
Você pode gerar e destruir objetos na rede simplesmente chamando TinyNetServer.instance.SpawnObject e TinyNetServer.instance.DestroyObject em um servidor, dado um GameObject válido que contém um TinyNetIdentity .
Lembre-se de registrar todos os pré-fabricados que possuem TinyNetIdentity em seu TinyNetGameManager , manualmente ou clicando no botão Registrar todos os pré-fabricados TinyNetIdentity em seu inspetor TinyNetGameManager .