Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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);
     }
 }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
 public void AcceptClanInvitation(bl_ClanInfo info, bool updateClanInfo)
 {
     StartCoroutine(JoinToClan(info, updateClanInfo));
 }