Пример #1
0
    /// <summary>
    /// 刷新item
    /// </summary>
    /// <param name="args"></param>
    private void OnUpdateItem(params object[] args)
    {
        int            index = (int)args[0];
        GameObject     obj   = args[1] as GameObject;
        ClubPlayerInfo data  = ClubModel.Inst.ClubPlayerInfoData[index];

        obj.SetActive(true);
        obj.GetComponent <ClubOnePlayerWidget>().SetData(data, mContent);
    }
Пример #2
0
    /// <summary>
    /// 初始化item
    /// </summary>
    /// <param name="args"></param>
    private void OnInitItem(params object[] args)
    {
        int            index = (int)args[0];
        ClubPlayerInfo data  = ClubModel.Inst.ClubPlayerInfoData[index];
        GameObject     obj   = NGUITools.AddChild(mScroll.gameObject, mPlayerItem);

        obj.SetActive(true);
        obj.GetComponent <ClubOnePlayerWidget>().SetData(data, mContent);
        mScroll.InitItem(index, obj);
    }
Пример #3
0
    private ClubPlayerInfo mData;   //数据

    /// <summary>
    /// 设置数据并显示
    /// </summary>
    /// <param name="data"></param>
    public void SetData(ClubPlayerInfo data, Transform parentRoot)
    {
        mData       = data;
        mParentRoot = parentRoot;
        //头像
        Assets.LoadIcon(data.headUrl, (t) =>
        {
            mUserHeadIcon.mainTexture = t;
        });
        //名字
        mName.text = data.nickName;
        //id
        mId.text = "ID:" + data.userId;
        //局数
        //mPlayNum.text = data.playCount.ToString();
        //珍珠
        mRichNum.text = data.richNum.ToString();
    }
Пример #4
0
        public async Task ClubCreateReq2(GameSession session, ClubCreateReq2Message message)
        {
            var plr = session.Player;

            if (plr == null)
            {
                return;
            }

            var ascii = Config.Instance.Game.NickRestrictions.AsciiOnly;

            if (GameServer.Instance.ClubManager.Any(c =>
                                                    c.ClanName == message.Name || c.Players.ContainsKey(plr.Account.Id)) ||
                !Namecheck.IsNameValid(message.Name, true) ||
                ascii && message.Name.Any(c => c > 127) ||
                !ascii && message.Name.Any(c => c > 255))
            {
                Logger.ForAccount(plr).Information($"Couldnt create Clan : {message.Name}");
                await session.SendAsync(new ClubCreateAck2Message(1));
            }
            else
            {
                var clubDto = new ClubDto
                {
                    Name = message.Name,
                    Icon = ""
                };

                using (var db = GameDatabase.Open())
                {
                    try
                    {
                        using (var transaction = DbUtil.BeginTransaction(db))
                        {
                            await DbUtil.InsertAsync(db, clubDto,
                                                     statement => statement.AttachToTransaction(transaction));

                            var clubPlayerInfo = new ClubPlayerInfo
                            {
                                AccountId = session.Player.Account.Id,
                                Account   = session.Player.Account.AccountDto,
                                State     = ClubState.Joined,
                                Rank      = ClubRank.Master
                            };

                            var club = new Club(clubDto, new[] { clubPlayerInfo });
                            GameServer.Instance.ClubManager.Add(club);
                            transaction.Commit();

                            var clubplrdto = new ClubPlayerDto
                            {
                                PlayerId = (int)session.Player.Account.Id,
                                ClubId   = club.Id,
                                Rank     = (byte)ClubRank.Master,
                                State    = (int)ClubState.Joined
                            };
                            await DbUtil.InsertAsync(db, clubplrdto);

                            session.Player.Club = club;
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Error(ex.ToString());
                        await session.SendAsync(new ClubCreateAck2Message(1));

                        return;
                    }

                    await session.SendAsync(new ClubCreateAck2Message(0));

                    await session.SendAsync(new ClubMyInfoAckMessage(plr.Map <Player, ClubMyInfoDto>()));

                    Club.LogOn(plr);
                }
            }
        }