Пример #1
0
        private GameUser CreateRole()
        {
            GameUser user = new GameUser(UserId);

            user.SessionID         = Sid;
            user.Pid               = Pid;
            user.HeadIcon          = HeadID;
            user.RetailId          = RetailID;
            user.NickName          = UserName;
            user.RealName          = "";
            user.Hobby             = "";
            user.Profession        = "";
            user.Sex               = Sex.ToBool();
            user.UserLv            = (short)ConfigEnvSet.GetInt("User.Level", 1);
            user.GiftGold          = ConfigEnvSet.GetInt("User.GiftGold", 100);
            user.GameCoin          = ConfigEnvSet.GetInt("User.GameCoin", 1000);
            user.VipLv             = ConfigEnvSet.GetInt("User.VipLv");
            user.UserStatus        = UserStatus.Normal;
            user.MsgState          = true;
            user.MobileType        = MobileType;
            user.ScreenX           = ScreenX;
            user.ScreenY           = ScreenY;
            user.ClientAppVersion  = ReqAppVersion;
            user.LoginDate         = DateTime.Now;
            user.CreateDate        = DateTime.Now;
            user.TitleId           = 1001;
            user.Property.GameId   = GameID;
            user.Property.ServerId = ServerID;
            user.Birthday          = new DateTime(1970, 1, 1);
            user.RemoteAddress     = httpGet.RemoteAddress;
            var cacheSet = new GameDataCacheSet <GameUser>();

            cacheSet.Add(user);
            cacheSet.Update();

            //增加初始背包、玩家任务表、玩家成就表
            var itemCacheSet = new GameDataCacheSet <UserItemPackage>();

            itemCacheSet.Add(new UserItemPackage(UserId));
            itemCacheSet.Update();
            var taskCacheSet = new GameDataCacheSet <UserTask>();

            taskCacheSet.Add(new UserTask(UserId));
            taskCacheSet.Update();
            var achieveCacheSet = new GameDataCacheSet <UserAchieve>();

            achieveCacheSet.Add(new UserAchieve(UserId));
            achieveCacheSet.Update();
            UserDailyRestrain restrain = new UserDailyRestrain(UserId);

            restrain.RefreshDate = DateTime.Now.AddDays(-1);
            var restrainCacheSet = new GameDataCacheSet <UserDailyRestrain>();

            restrainCacheSet.Add(restrain);
            restrainCacheSet.Update();
            return(user);
        }
Пример #2
0
        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 <GameUser>();
            var      roleCache = new PersonalCacheStruct <UserRole>();
            GameUser gameUser;

            if (userCache.TryFindKey(Uid, out gameUser) == LoadingStatus.Success)
            {
                if (gameUser == null)
                {
                    gameUser = new GameUser
                    {
                        UserId     = UserId,
                        PassportId = Pid,
                        RetailId   = RetailID,
                        NickName   = Pid
                    };
                    userCache.Add(gameUser);
                }
                user = gameUser;
                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;
                    var notifyUsers = new List <GameUser>();
                    notifyUsers.Add(gameUser);
                    ActionFactory.SendAsyncAction(notifyUsers, (int)ActionType.World, null, null);
                    return(true);
                }
            }
            return(false);
        }
Пример #3
0
        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);
        }