IEnumerator JoinToClan(bl_ClanInfo info, bool updateClanInfo) { LoadingOverlays[4].SetActive(true); WWWForm wf = new WWWForm(); wf.AddField("type", 10); wf.AddField("hash", bl_DataBase.Instance.GetUserToken()); wf.AddField("clanID", info.ID); wf.AddField("userID", bl_DataBase.Instance.LocalUser.ID); wf.AddField("settings", bl_DataBase.Instance.LocalUser.Score); using (UnityWebRequest w = UnityWebRequest.Post(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.Clans), wf)) { yield return(w.SendWebRequest()); if (!w.isNetworkError) { string t = w.downloadHandler.text; if (t.Contains("done")) { if (updateClanInfo) { bl_ClanSearch cs = FindObjectOfType <bl_ClanSearch>(); yield return(StartCoroutine(cs.Search(info.Name, false))); info = cs.LastSearchInfo; } #if CLANS bl_DataBase.Instance.LocalUser.Clan = info; #endif if (!updateClanInfo) { #if CLANS bl_ClanInfo.ClanMember me = new bl_ClanInfo.ClanMember(); me.ID = bl_DataBase.Instance.LocalUser.ID; me.Name = bl_DataBase.Instance.LocalUser.NickName; me.Role = ClanMemberRole.Member; bl_DataBase.Instance.LocalUser.Clan.Members.Add(me); #endif } ClearCacheUI(); ClanInfoOverlay.SetActive(false); CreateClanWindow.SetActive(false); MyClanWindow.SetActive(true); OpenWindow(1); ClanInfoLogText.text = "Joined to the clan: " + info.Name; Debug.Log("Joined to the clan"); } else { Debug.Log(t); } } else { Debug.LogError(w.error); } } LoadingOverlays[4].SetActive(false); }
/// <summary> /// /// </summary> /// <returns></returns> IEnumerator GetTopClans(bool justTopClans) { LoadingOverlays[4].SetActive(true); WWWForm wf = new WWWForm(); wf.AddField("type", 0); wf.AddField("hash", bl_DataBase.Instance.GetUserToken()); using (UnityWebRequest w = UnityWebRequest.Post(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.Clans), wf)) { yield return(w.SendWebRequest()); if (!w.isNetworkError) { string t = w.downloadHandler.text; string[] split = t.Split("\n"[0]); if (split.Length > 0 && !split[0].Contains("empty")) { for (int i = 0; i < split.Length; i++) { if (string.IsNullOrEmpty(split[i]) || !split[i].Contains("|")) { continue; } string[] info = split[i].Split("|"[0]); GameObject g = Instantiate(TopClanUI) as GameObject; g.GetComponent <bl_TopClanUI>().Set(info[0], info[2], info[1]); g.transform.SetParent(TopClansPanel, false); cacheTopClans.Add(g); } } #if CLANS if (!justTopClans) { bl_ClanInfo playerClan = bl_DataBase.Instance.LocalUser.Clan; if ((playerClan == null || !playerClan.haveClan) && playerClan.MyInvitations.Count > 0) { StartCoroutine(GetUserInvitations()); } else { LoadingOverlays[4].SetActive(false); } } else { LoadingOverlays[4].SetActive(false); } #endif } else { Debug.LogError(w.error); } } }
public void SetClanRequest(string Name, string score, string _clanID) { clanInfo = new bl_ClanInfo(); clanInfo.ID = int.Parse(_clanID); clanInfo.Name = Name; clanInfo.Score = int.Parse(score); NameText.text = Name; if (ScoreText != null) { ScoreText.text = string.Format("SCORE: <b>{0}</b>", score); } }
public IEnumerator Search(string clanName, bool display) { isSearching = true; bl_ClanManager.Instance.LoadingOverlays[3].SetActive(false); WWWForm wf = new WWWForm(); wf.AddField("type", 9); wf.AddField("hash", bl_DataBase.Instance.GetUserToken()); wf.AddField("clanID", clanName); using (UnityWebRequest w = UnityWebRequest.Post(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.Clans), wf)) { yield return(w.SendWebRequest()); if (!w.isNetworkError) { string t = w.downloadHandler.text; string[] split = t.Split("|"[0]); if (split[0].Contains("yes")) { bl_ClanInfo ci = new bl_ClanInfo(); ci.Name = clanName; ci.ID = int.Parse(split[1]); ci.Date = split[2]; ci.DecompileMembers(split[3]); ci.Score = int.Parse(split[4]); ci.Description = split[5]; ci.DecompileSettings(split[6]); if (display) { bl_ClanManager.Instance.DisplayClanInfo(ci); } LastSearchInfo = ci; } else { SearchLogText.text = t; Debug.Log(t); } } else { Debug.LogError(w.error); } } bl_ClanManager.Instance.LoadingOverlays[3].SetActive(false); isSearching = false; }
/// <summary> /// /// </summary> /// <param name="description"></param> /// <returns></returns> IEnumerator UpdateSettings(string description) { bl_ClanManager.Instance.LoadingOverlays[1].SetActive(true); WWWForm wf = new WWWForm(); wf.AddField("type", 16); wf.AddField("hash", bl_DataBase.Instance.GetUserToken()); wf.AddField("clanID", bl_ClanManager.Instance.ClanInfo.ID); string settings = string.Format("{0},{1},", AllCanInvite ? 1 : 0, isClanPublic ? 1 : 0); wf.AddField("settings", settings); wf.AddField("desc", description); using (UnityWebRequest w = UnityWebRequest.Post(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.Clans), wf)) { yield return(w.SendWebRequest()); if (!w.isNetworkError) { string t = w.downloadHandler.text; if (t.Contains("done")) { bl_ClanInfo i = bl_ClanManager.Instance.ClanInfo; i.AllCanInvite = AllCanInvite; i.isPublic = isClanPublic; i.Description = description; DisplayInfo(); editInfoOpen = false; EditInfoUI.SetActive(editInfoOpen); } else { Debug.Log(t); } } else { Debug.LogError(w.error); } } bl_ClanManager.Instance.LoadingOverlays[1].SetActive(false); }
/// <summary> /// /// </summary> void DisplayInfo() { bl_ClanInfo i = bl_ClanManager.Instance.ClanInfo; ClanNameText.text = string.Format("<b>CLAN NAME:</b> {0}", i.Name); LeaderText.text = string.Format("<b>LEADER:</b> {0}", i.Leader().Name); ScoreText.text = string.Format("<b>SCORE:</b> {0}", i.Score); DateText.text = string.Format("<b>DATE:</b> {0}", i.Date); MembersText.text = string.Format("<b>MEMBERS:</b> {0} / 20", i.Members.Count); LastMemberText.text = string.Format("<b>LAST MEMBERS:</b> {0}", i.Members[i.Members.Count - 1].Name); DescriptionText.text = string.Format("<b>DESCRIPTIONS:\n</b><size=9>{0}</size>", i.Description); DescriptionInput.text = i.Description; StateText.text = string.Format("<b>STATE:</b> {0}", i.isPublic ? "PUBLIC" : "PRIVATE"); InvitationText.text = string.Format("<b>INVITATIONS:</b> {0}", i.AllCanInvite ? "ALL" : "ONLY LEADER"); StatePrivateButton.interactable = i.isPublic; StatePublicButton.interactable = !i.isPublic; InvitationAllButton.interactable = !i.AllCanInvite; InvitationOLButton.interactable = i.AllCanInvite; EditButton.SetActive((int)i.PlayerRole() > 1); }
public void DisplayClanInfo(bl_ClanInfo info) { DisplayingClanInfo = info; ClanNameText.text = info.Name; ScoreText.text = info.Score.ToString(); MembersText.text = string.Format("{0} / 20", info.MembersCount); DateText.text = info.Date; DescriptionText.text = info.Description; StatusText.text = info.isPublic ? "PUBLIC" : "PRIVATE"; bool isFull = (info.MembersCount >= 20); if (isFull) { StatusText.text += " [FULL]"; } #if CLANS if (bl_DataBase.Instance.LocalUser.Clan == null && !isFull || !bl_DataBase.Instance.LocalUser.Clan.haveClan && !isFull) { if (bl_DataBase.Instance.LocalUser.Clan != null && bl_DataBase.Instance.LocalUser.Clan.MyInvitations.Contains(info.ID)) { InvitationsButtons.SetActive(true); JoinButton.SetActive(false); RequestJoinButton.SetActive(false); } else { InvitationsButtons.SetActive(false); JoinButton.SetActive(info.isPublic); RequestJoinButton.SetActive(!info.isPublic); } } else { InvitationsButtons.SetActive(false); JoinButton.SetActive(false); RequestJoinButton.SetActive(false); } #endif ClanInfoOverlay.SetActive(true); }
IEnumerator RequestJoinToClan(bl_ClanInfo info) { LoadingOverlays[4].SetActive(false); WWWForm wf = new WWWForm(); wf.AddField("type", 12); wf.AddField("hash", bl_DataBase.Instance.GetUserToken()); wf.AddField("clanID", info.ID); wf.AddField("userID", bl_DataBase.Instance.LocalUser.ID); using (UnityWebRequest w = UnityWebRequest.Post(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.Clans), wf)) { yield return(w.SendWebRequest()); if (!w.isNetworkError) { string t = w.downloadHandler.text; if (t.Contains("done")) { InvitationsButtons.SetActive(false); RequestJoinButton.SetActive(false); ClanInfoLogText.text = "Join request send"; Debug.Log("Join request send"); } else { Debug.Log(t); } } else { Debug.LogError(w.error); } } LoadingOverlays[4].SetActive(false); }
public void AcceptClanInvitation(bl_ClanInfo info, bool updateClanInfo) { StartCoroutine(JoinToClan(info, updateClanInfo)); }