Example #1
0
    private void Room4Client_OnBattleBegin(Room4Client r, bool isReplay)
    {
        gameObject.SetActive(!isReplay);
        if (isReplay)
        {
            return;
        }

        UnitConfigUtil.GetUnitCfgsFromServer();

        curBtn             = null;
        CurUnitType        = null;
        IsShowArmyList     = true;
        IsShowBuildingList = false;
        IsShowOtherList    = false;
        SwitchTimes        = 0;

        ArmyContent.parent.localPosition     = ShowContentPos;
        BuildingContent.parent.localPosition = HideContentPos;
        ThirdContent.parent.localPosition    = HideContentPos;

        SwitchBtn.transform.Find("Text1").GetComponent <Text>().text = IsShowArmyList ? "部队" : "建筑";
        SwitchBtn.transform.Find("Text2").GetComponent <Text>().text = IsShowArmyList ? "建筑" : "部队";

        foreach (var c in btns.Keys)
        {
            btns[c].gameObject.SetActive(false);
        }

        builder.Clear();
        builderAccs.Clear();
        coldown.Clear();

        btns.Clear();
        ContentClear(ArmyContent);
        ContentClear(BuildingContent);
        ContentClear(ThirdContent);
        BuildAllUUIs();

        needRefreshBtns = true;
    }
Example #2
0
 private void Room4Client_OnBattleEnd(Room r, string winner, bool isReplay)
 {
     //  战斗结束时也刷新一下客户端配置表
     UnitConfigUtil.GetUnitCfgsFromServer();
 }
Example #3
0
    // 执行登录操作
    public void OnLogin()
    {
        var srvAddr     = SrvAddr.text;
        var srvPort     = 9530;
        var addrFamily  = AddressFamily.InterNetwork;
        var acc         = SystemInfo.deviceUniqueIdentifier;
        var version     = Application.version;
        var deviceModel = SystemInfo.deviceModel.ToString();
        var buildNo     = "002";

        GetPlatform();

    #if UNITY_IPHONE && !UNITY_EDITOR
        IPv6SupportMidleware.getIPType(srvAddr, srvPort.ToString(), out srvAddr, out addrFamily);
    #endif

        // 连接服务器
        var gc = GameCore.Instance;
        var nc = gc.Get <NetCore>();
        SetTips("连接服务器 ...");
        nc.Connect2Peer(srvAddr, srvPort, (conn, reason) =>
        {
            if (conn == null)
            {
                SetTips(reason);
            }
            else
            {
                gc.ServerConnection = conn;

                // 登录
                SetTips("请求登录 ...");
                var buff = conn.Request2Srv("Login", (data) =>
                {
                    var isNewVersion = data.ReadBool();
                    if (!isNewVersion)
                    {
                        downloadURL = data.ReadString();

                        SetTips("请更新到最新版本!");
                        DownloadBtn.SetActive(true);
                        LoginBtn.SetActive(false);
                        return;
                    }
                    else
                    {
                        DownloadBtn.SetActive(false);
                        LoginBtn.SetActive(true);
                    }

                    var ok = data.ReadBool();
                    if (ok)
                    {
                        PlayerPrefs.SetString("ServerAddress", srvAddr);

                        SetTips("登录成功");
                        GameCore.Instance.MeID   = acc;
                        GameCore.Instance.MeInfo = data.Read <UserInfo>();
                        Hide();
                        UIManager.Instance.ShowTopUI("MainMenu", true);
                        UIManager.Instance.ShowTopUI("MainArea", true);

                        UnitConfigUtil.GetUnitCfgsFromServer();
                        UserManager.SyncAvatarsFromCfg();

                        var qName = data.ReadString();

                        if (!string.IsNullOrEmpty(qName))
                        {
                            QAUI.OnGetQuestionnaire(qName);
                        }
//                        StaticSoundMgr.Instance.PlaySound("Login");
                    }
                    else
                    {
                        SetTips("登录失败");
                        conn.Close();
                    }
                }, (conntected) =>
                {
                    SetTips("登录超时");
                    if (conntected)
                    {
                        conn.Close();
                    }
                });

                buff.Write(acc);
                buff.Write(version);
                buff.Write(platform);
                buff.Write(deviceModel);
                buff.Write(buildNo);
                conn.End(buff);
            }
        }, addrFamily);
    }