[Command] // Comando para alterar o clan no Servidor. public void CmdOnClanChanged(int clan) { if (clanInUse.Count == 0) // Ninguém escolheu nada, escolho primeiro. { clanInUse.Add(clan); playerClan = (RobotClan)clan; } else if (clanInUse.Count == 1 && clanInUse[0] == (int)playerClan && (int)playerClan != clan) // Tem um usado, mas este um sou eu, quero trocar se for outro. { playerClan = (RobotClan)clan; clanInUse[0] = clan; } else if (clanInUse.Count == 1 && clanInUse[0] != clan) // Tem um usado, e minha escolha é diferente deste usado, posso selecionar. { playerClan = (RobotClan)clan; clanInUse.Add(clan); } else if (clanInUse.Count == 1 && clanInUse[0] == clan) // Selecionei um usado, minha escolha é igual ao usado, não posso, seleciona automaticamente o livre. { int freeClan = clanInUse[0] == 0 ? 1 : 2; playerClan = (RobotClan)freeClan; clanInUse.Add(freeClan); } int param1 = clanInUse.Count; int param2 = clanInUse.Count > 0 ? clanInUse[0] : 0; int param3 = clanInUse.Count > 1 ? clanInUse[1] : 0; RpcOnClanChanged(param1, param2, param3); }
// Altera na UI o conteudo do Clan do jogador, de acordo com o dado sincronizado pelo servidor. public void SetThisClan(RobotClan newClan) { playerClan = newClan; _clanField.value = (int)playerClan; _clanField.value = (int)playerClan; }