Exemplo n.º 1
0
 void HandleCloseButtonClicked(InviteObject obj)
 {
     screenManager.temporaryObjsList.Remove(obj.gameObject);
     Destroy(obj.gameObject);
     if (screenManager.temporaryObjsList.Count == 0)
     {
         screenManager.ShowNewGroupScene();
     }
 }
Exemplo n.º 2
0
    IEnumerator SearchForInvites()
    {
        screenManager.ShowLoadingScreen();
        WWW result;

        yield return(result = WWWUtils.DoWebRequest("invite/check/" + PlayerPrefs.GetInt("user_id") + "/"));

        Debug.Log("url result = " + result.text);

        if (result.text.ToUpper().Contains("ERROR") || result.text.ToUpper().Contains("TIMEOUT"))
        {
            screenManager.ShowErrorScreen("error checking invite:" + result.text);
            yield break;
        }

        string jsonDecoded = StringUtils.DecodeBytesForUTF8(result.bytes);

        List <InviteData> invites = JsonConvert.DeserializeObject <List <InviteData> >(jsonDecoded);

        foreach (var obj in screenManager.temporaryObjsList)
        {
            Destroy(obj);
        }
        screenManager.temporaryObjsList.Clear();

        if (invites.Count > 0)
        {
            foreach (var invite in invites)
            {
                GameObject item = Instantiate(InvitePrefab, InviteGroupParent);
                screenManager.temporaryObjsList.Add(item);
                InviteObject inviteObj = item.GetComponent <InviteObject> ();
                inviteObj.acceptButtonClicked  += HandleAcceptInvite;
                inviteObj.declineButtonClicked += HandleDeclineInvite;
                inviteObj.closeButtonClicked   += HandleCloseButtonClicked;
                inviteObj.SetupInviteInfo(invite.sender_name, invite.group_name, invite.id_invite);
            }

            screenManager.ShowGroup(ScreenType.RECEIVE_INVITES);
        }
        else
        {
            screenManager.ShowGroup(ScreenType.NEW_GROUP);
        }
    }