public async Task <ActionResult <Character> > Create(Character character)
        {
            var clearedGameIds = await ValidateGame(character.GameIds);

            character.GameIds = clearedGameIds;
            var foundCharacter = await _characterService.Create(character);

            if (foundCharacter == null)
            {
                return(BadRequest());
            }

            AddToGame(character.GameIds, character);

            return(CreatedAtRoute("GetCharacter", new { characterId = character.CharacterId }, character));
        }
Пример #2
0
        public IActionResult CreateCharacter(CreateCharacterRequest request)
        {
            if (_charService.NameExists(request.Name))
            {
                return(UnprocessableEntity(new {
                    Message = $"There's already a character with the name ({request.Name})"
                }));
            }

            var createdChar = _charService.Create(request);

            return(Ok(new {
                Message = "Character created successfully!",
                Character = _mapper.Map <CharacterResponse>(createdChar)
            }));
        }
Пример #3
0
        private async void OnCreateNewCharacterAsync(ServerPlayer player, string charCreationJson)
        {
            dynamic charCreationObj = JsonConvert.DeserializeObject <dynamic>(charCreationJson);

            string firstName              = charCreationObj.firstName;
            string lastName               = charCreationObj.lastName;
            string birthdayStr            = charCreationObj.birthday;
            string genderIndex            = charCreationObj.genderIndex;
            string appearanceParents      = JsonConvert.SerializeObject(charCreationObj.appearanceParents);
            string appearanceFaceFeatures = JsonConvert.SerializeObject(charCreationObj.appearanceFaceFeatures);
            string appearanceDetails      = JsonConvert.SerializeObject(charCreationObj.appearanceDetails);
            string appearanceHair         = JsonConvert.SerializeObject(charCreationObj.appearanceHair);
            string appearanceClothes      = JsonConvert.SerializeObject(charCreationObj.appearanceClothes);

            if (!string.IsNullOrEmpty(firstName) &&
                !string.IsNullOrEmpty(lastName) &&
                !string.IsNullOrEmpty(birthdayStr) &&
                !string.IsNullOrEmpty(genderIndex) &&
                !string.IsNullOrEmpty(appearanceParents) &&
                !string.IsNullOrEmpty(appearanceFaceFeatures) &&
                !string.IsNullOrEmpty(appearanceDetails) &&
                !string.IsNullOrEmpty(appearanceHair) &&
                !string.IsNullOrEmpty(appearanceClothes))
            {
                if (!DateTime.TryParseExact(birthdayStr, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, out DateTime birthday))
                {
                    return;
                }

                var character = new Character
                {
                    AccountId              = player.Account.SocialClubId,
                    FirstName              = firstName,
                    LastName               = lastName,
                    Birthday               = birthday,
                    Model                  = genderIndex == "0" ? "mp_m_freemode_01" : "mp_f_freemode_01",
                    Armor                  = 0,
                    Health                 = 200,
                    Cash                   = 500,
                    Hunger                 = 100,
                    Thirst                 = 100,
                    AppearanceParents      = appearanceParents,
                    AppearanceFaceFeatures = appearanceFaceFeatures,
                    AppearanceDetails      = appearanceDetails,
                    AppearanceHair         = appearanceHair,
                    AppearanceClothes      = appearanceClothes
                };

                await _characterService.Create(character);

                player.Character = character;

                // necessary for intro
                await AltAsync.Do(() =>
                {
                    player.Model = Alt.Hash(player.Character.Model);
                });

                await Task.Delay(500);

                var appearanceData = new List <string> {
                    player.Character.AppearanceParents,
                    player.Character.AppearanceFaceFeatures,
                    player.Character.AppearanceDetails,
                    player.Character.AppearanceHair,
                    player.Character.AppearanceClothes
                };

                player.Emit("Session:PlayIntro", character.Id, appearanceData);

                return;
            }

            await player.KickAsync("Error on character creation!");
        }
Пример #4
0
 public Task <Character> AddCharacter([FromBody] Character newCharacter) =>
 _service.Create(newCharacter);
Пример #5
0
        public ActionResult <Character> Create(Character character)
        {
            _characterService.Create(character);

            return(CreatedAtRoute("GetCharacter", new { id = character.Id.ToString() }, character));
        }
Пример #6
0
 public ActionResult <Character> Post(Character character)
 {
     _characterService.Create(character);
     return(character);
 }