예제 #1
0
    /// 邀请好友加入该游戏
    public void sendInviteJoin(SdkFriendsInfo finfo, CallBack uiback)
    {
        if (InviteNum >= MAXINVITENUM)
        {
            ShowMsg(LanguageConfigManager.Instance.getLanguage("sdk_get_error3"));
            return;
        }

        SdkFriendFPort fport = FPortManager.Instance.getFPort("SdkFriendFPort") as SdkFriendFPort;

        fport.sendInviteMsg(finfo.SdkUid, t => {
            sendIviteMsgProcess(t, finfo, uiback);
        });

        string invitereson = "Invite you!";

        if (ServerManagerment.Instance.lastServer == null || UserManager.Instance.self == null)
        {
            invitereson = LanguageConfigManager.Instance.getLanguage("sdk_invite_suc");
        }
        else
        {
            invitereson = LanguageConfigManager.Instance.getLanguage("sdk_invite_suc", ServerManagerment.Instance.lastServer.name,
                                                                     StringKit.serverIdToFrontId(UserManager.Instance.self.uid));
        }
    }
예제 #2
0
    /// 赠送按钮 点击触发 uiback更新
    public void sendPower(SdkFriendsInfo finfo, CallBack uiback)
    {
        SdkFriendFPort fport = FPortManager.Instance.getFPort("SdkFriendFPort") as SdkFriendFPort;

        if (finfo == null || (finfo != null && string.IsNullOrEmpty(finfo.Uid)))
        {
            MaskWindow.UnlockUI();
            return;
        }

        fport.sendsdkFriendsMsg(finfo.Uid, t => {
            if (t == "ok")
            {
                finfo.SendFlags = 1;
                if (uiback != null)
                {
                    uiback();
                }
                ShowMsg(LanguageConfigManager.Instance.getLanguage("sdk_send_suc"));
            }
            else
            {
                ShowMsg(LanguageConfigManager.Instance.getLanguage("sdk_send_fail"));
            }
        });
    }
예제 #3
0
 // 解析邀请信息返回
 public void sendIviteMsgProcess(string msg, SdkFriendsInfo finfo, CallBack uiback)
 {
     if (msg == "ok")
     {
         InviteNum++;
         finfo.IsInviate = false;
         if (uiback != null)
         {
             uiback();
         }
         addAward();
     }
     else
     {
         ShowMsg(LanguageConfigManager.Instance.getLanguage("sdk_invite_fail"));
     }
 }
예제 #4
0
    /// 领取按钮点击触发 行动力成功时uiback更新
    public void sendgetPower(SdkFriendsInfo finfo, CallBack uiback)
    {
        if (GetNum < MAXGETNUM)
        {
            if (UserManager.Instance.self.getPvEPointMax() < (UserManager.Instance.self.getPvEPoint() + 2))
            {
                ShowMsg(LanguageConfigManager.Instance.getLanguage("sdk_get_error1"));
                return;
            }
        }
        else
        {
            ShowMsg(LanguageConfigManager.Instance.getLanguage("sdk_get_error2"));
            return;
        }

        SdkFriendFPort fport = FPortManager.Instance.getFPort("SdkFriendFPort") as SdkFriendFPort;

        fport.getsdkFriendsMsg(finfo.Uid, t => {
            if (t == "ok")
            {
                GetNum++;
                showGetNum--;
                showGetNum = showGetNum < 0? 0:showGetNum;
                ShowMsg(LanguageConfigManager.Instance.getLanguage("sdk_get_suc"));
                UserManager.Instance.self.addPvEPoint(2);
                if (uiback != null)
                {
                    uiback();
                }
            }
            else
            {
                ShowMsg(LanguageConfigManager.Instance.getLanguage("sdk_get_fail"));
            }
        });
    }
예제 #5
0
    void setButtonShow(int flags, SdkFriendsInfo info, WindowBase fatherwindow)
    {
        switch (flags)
        {
        case 0:
            giftbutton.gameObject.SetActive(false);
            getButton.gameObject.SetActive(false);
            inviteButton.gameObject.SetActive(false);
            break;

        case 1:
            giftbutton.gameObject.SetActive(false);
            getButton.gameObject.SetActive(false);
            inviteButton.gameObject.SetActive(true);
            if (info.IsInviate)
            {
                inviteButton.disableButton(false);
                inviteLabel.text = LanguageConfigManager.Instance.getLanguage("sdk_friend_invite");
            }
            else
            {
                inviteButton.disableButton(true);
                inviteLabel.text = LanguageConfigManager.Instance.getLanguage("sdk_friended_invite");
            }
            inviteButton.initButton(this, 1, fatherwindow);
            inviteButton.fatherWindow = fatherwindow;
            break;

        case 2:
            giftbutton.gameObject.SetActive(false);
            getButton.gameObject.SetActive(false);
            inviteButton.gameObject.SetActive(false);
            break;

        case 3:
            giftbutton.gameObject.SetActive(true);
            getButton.gameObject.SetActive(true);
            if (info.SendFlags == 1)
            {
                giftbutton.disableButton(true);
                sendLabel.text = LanguageConfigManager.Instance.getLanguage("sdk_friended_gift");
            }
            else if (info.SendFlags == 2)
            {
                giftbutton.disableButton(false);
                sendLabel.text = LanguageConfigManager.Instance.getLanguage("sdk_friend_gift");
            }
            if (info.GetInfo == 3)
            {
                getButton.disableButton(true);
                getLabel.text = LanguageConfigManager.Instance.getLanguage("sdk_friended_get");
            }
            else if (info.GetInfo == 1)
            {
                getButton.disableButton(false);
                getLabel.text = LanguageConfigManager.Instance.getLanguage("sdk_friend_get");
            }
            else
            {
                getButton.gameObject.SetActive(false);
            }
            giftbutton.initButton(this, 2, fatherwindow);
            getButton.initButton(this, 3, fatherwindow);
            inviteButton.gameObject.SetActive(false);
            break;
        }
    }
예제 #6
0
    public void initItem(SdkFriendsInfo info, WindowBase fatherwindow)
    {
        this.sdkfriendsInfo = info;
        this.fatherWindow   = fatherwindow;
        string nameinfo = info.Name;

        if (sdkfriendsInfo.ServerFlag == 1 || sdkfriendsInfo.ServerFlag == 0)
        {
            if (info.HeadIcon != null && info.HeadIcon.Length > 7)
            {
                ResourcesManager.Instance.LoadAssetBundleTexture(info.HeadIcon, iconHead);
            }
            spriteSex.gameObject.SetActive(true);
            spriteSex.spriteName = info.Sex;
            labelName.text       = nameinfo;
            if (info.MomoLevel > 0)
            {
                sdkLevel.text = "VIP";
            }
            else
            {
                sdkLevel.text = LanguageConfigManager.Instance.getLanguage("s0073");
            }
            serverLevel.gameObject.SetActive(false);
            setButtonShow(sdkfriendsInfo.ServerFlag, info, fatherWindow);
        }
        else if (sdkfriendsInfo.ServerFlag == 2)
        {
            serverLevel.gameObject.SetActive(true);
            serverLevel.depth = 100;
            if (info.HeadIcon != null && info.HeadIcon.Length > 7)
            {
                ResourcesManager.Instance.LoadAssetBundleTexture(info.HeadIcon, iconHead);
            }
            serverLevel.text     = LanguageConfigManager.Instance.getLanguage("sdk_friend_difs");
            labelName.text       = nameinfo;
            spriteSex.spriteName = info.Sex.ToString();

            if (info.VipLevel > 0)
            {
                spriteVip.gameObject.SetActive(true);
                spriteVip.spriteName = "vip" + info.VipLevel;
            }
            else
            {
                spriteVip.gameObject.SetActive(false);
            }
            setButtonShow(2, info, fatherWindow);
        }
        else if (sdkfriendsInfo.ServerFlag == 3)
        {
            serverLevel.gameObject.SetActive(true);
            serverLevel.depth = 100;
            if (info.HeadIcon != null && info.HeadIcon.Length > 7)
            {
                ResourcesManager.Instance.LoadAssetBundleTexture(info.HeadIcon, iconHead);
            }
            serverLevel.text     = LanguageConfigManager.Instance.getLanguage("sdk_friend_sames");
            labelName.text       = nameinfo;
            spriteSex.spriteName = info.Sex.ToString();

            if (info.VipLevel > 0)
            {
                spriteVip.gameObject.SetActive(true);
                spriteVip.spriteName = "vip" + info.VipLevel;
            }
            else
            {
                spriteVip.gameObject.SetActive(false);
            }
            changeNum.gameObject.SetActive(true);
            changeNum.text = LanguageConfigManager.Instance.getLanguage("sdk_friend_changenum", info.ChangeNum.ToString());
            setButtonShow(3, info, fatherWindow);
        }
    }
예제 #7
0
    /// 解析skdfriendinfos的服務器返回消息
    private SdkFriendsInfo[] createsdkFriends(ErlArray msg)
    {
        bool isinviate, issend, isget;

        if (msg.Value.Length < 1)
        {
            return(sdkFriendsInfos);
        }

        ErlArray       friendsInfo;
        SdkFriendsInfo sdkFriendInfo;

        MAXGETNUM    = StringKit.toInt(msg.Value [0].getValueString());
        MAXINVITENUM = StringKit.toInt(msg.Value [1].getValueString());
        ErlArray sdksids = msg.Value [2] as ErlArray;

        string[] sdkuids = new string[sdksids.Value.Length];

        for (int i = 0; i < sdkuids.Length; i++)
        {
            sdkuids[i] = sdksids.Value[i].getValueString();
        }

        InviteNum  = sdkuids.Length;
        GetNum     = 0;
        showGetNum = 0;

        List <SdkFriendsInfo> infoslist = new List <SdkFriendsInfo>();

        foreach (SdkFriendsInfo info in sdkFriendsInfos)
        {
            infoslist.Add(info);
        }

        foreach (string id in sdkuids)
        {
            SdkFriendsInfo info = getSDKUidPlayerInfos(id, infoslist);
            if (info != null)
            {
                info.IsInviate = false;
            }
        }

        ErlArray msgs = msg.Value [3] as ErlArray;



        for (int i = 0; i < msgs.Value.Length; i++)
        {
            friendsInfo = msgs.Value[i] as ErlArray;

            sdkFriendInfo = getSDKUidPlayerInfos(friendsInfo.Value[0].getValueString(), infoslist);

            if (sdkFriendInfo == null)
            {
                continue;
            }

            sdkFriendInfo.Uid = friendsInfo.Value[1].getValueString();
            if (sdkFriendInfo.Uid == "0" || string.IsNullOrEmpty(sdkFriendInfo.Uid))
            {
                infoslist.Remove(sdkFriendInfo);
                continue;
            }
            sdkFriendInfo.VipLevel   = StringKit.toInt(friendsInfo.Value[2].getValueString());
            sdkFriendInfo.ChangeNum  = StringKit.toInt(friendsInfo.Value[3].getValueString());
            sdkFriendInfo.ServerFlag = StringKit.toInt(friendsInfo.Value[4].getValueString()) == 2 ? 3:2;
            sdkFriendInfo.SendFlags  = StringKit.toInt(friendsInfo.Value[5].getValueString());
            sdkFriendInfo.GetInfo    = StringKit.toInt(friendsInfo.Value[6].getValueString());


            if (sdkFriendInfo.GetInfo == 3)
            {
                GetNum++;
            }
            else if (sdkFriendInfo.GetInfo == 1)
            {
                showGetNum++;
            }
        }

        if (UiManager.Instance.getWindow <LoginWindow>() == null)
        {
            MaskWindow.UnlockUI();
        }

        sdkFriendsInfos = infoslist.ToArray();
        return(sdkFriendsInfos);
    }