当前位置: 首页>>代码示例>>C#>>正文


C# PersonalCacheStruct.TryFind方法代码示例

本文整理汇总了C#中PersonalCacheStruct.TryFind方法的典型用法代码示例。如果您正苦于以下问题:C# PersonalCacheStruct.TryFind方法的具体用法?C# PersonalCacheStruct.TryFind怎么用?C# PersonalCacheStruct.TryFind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PersonalCacheStruct的用法示例。


在下文中一共展示了PersonalCacheStruct.TryFind方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateUserRole

        protected override bool CreateUserRole(out IUser user)
        {
            user = null;
            if (UserName.Length < 2 || UserName.Length > 12)
            {
                ErrorCode = Language.Instance.ErrorCode;
                ErrorInfo = Language.Instance.St1005_UserNameNotEnough;
                return false;
            }
            var userCache = new PersonalCacheStruct<GameUserCopy>();
            var roleCache = new PersonalCacheStruct<UserRole>();
            var userNameCache = new PersonalCacheStruct<UserDescription>();
            GameUserCopy gameUser;

            if (userCache.TryFindKey(Pid, out gameUser) == LoadingStatus.Success)
            {
                if (gameUser == null)
                {
                    gameUser = new GameUserCopy
                    {
                        UserId = UserId,
                        PassportId = Pid,
                        RetailId = RetailID,
                        NickName = Pid
                    };
                    userCache.Add(gameUser);
                }
                user =new SessionUser(gameUser);

                /////////////////Test////////////////////////////
                UserDescription description;
                if (userNameCache.TryFind(gameUser.PersonalId, r => r.UserId == gameUser.UserId, out description) == LoadingStatus.Success)
                {

                    if (description == null)
                    {

                    }

                }

                ////////////////////////////////////////////////////

                UserRole role;
                if (roleCache.TryFind(gameUser.PersonalId, r => r.RoleName == UserName, out role) == LoadingStatus.Success)
                {
                    if (role == null)
                    {
                        role = new UserRole()
                        {
                            RoleId = (int)roleCache.GetNextNo(),
                            UserId = UserId,
                            RoleName = UserName,
                            HeadImg = HeadID,
                            Sex = Sex.ToBool(),
                            LvNum = 1,
                            ExperienceNum = 0,
                            LifeNum = 100,
                            LifeMaxNum = 100
                        };
                        roleCache.Add(role);
                        gameUser.CurrRoleId = role.RoleId;
                    }
                    return true;
                }
            }
            return false;
        }
开发者ID:Menq,项目名称:ScutServer_MQ,代码行数:68,代码来源:Action1005.cs


注:本文中的PersonalCacheStruct.TryFind方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。