예제 #1
0
        public CharacterEntry Create(GameAccountEntry account, byte slot, string characterName, byte race, double scale, byte gender)
        {
            var entry = new CharacterEntry
            {
                AccountId    = account.Id,
                Slot         = slot,
                Name         = characterName,
                Race         = race,
                Scale        = scale,
                Gender       = gender,
                Class        = 1,
                MapContextId = DefaultMapContextId,
                RunState     = DefaultRunState,
                CoordX       = DefaultCoordX,
                CoordY       = DefaultCoordY,
                CoordZ       = DefaultCoordZ,
                Rotation     = 0
            };

            try
            {
                _charContext.CharacterEntries.Add(entry);
                _charContext.SaveChanges();
                return(Get(entry.Id));
            }
            catch (Exception e)
            {
                Logger.WriteLog(LogType.Error, "Error creating character:");
                Logger.WriteLog(LogType.Error, e);
                return(null);
            }
        }
예제 #2
0
        public void CreateOrUpdate(uint id, string name, string email)
        {
            var existingGameAccount = _charContext.GetWritable(_charContext.GameAccountEntries, id);

            if (existingGameAccount != null)
            {
                existingGameAccount.Name  = name;
                existingGameAccount.Email = email;
            }
            else
            {
                var newEntry = new GameAccountEntry
                {
                    Id    = id,
                    Name  = name,
                    Email = email
                };
                _charContext.GameAccountEntries.Add(newEntry);
                _charContext.SaveChanges();
            }
        }