public void CreateCharacter(string json) { CharacterJson characterJson = JsonUtility.FromJson <CharacterJson>(json); GameObject character = Instantiate(CharacterPrefab); character.GetComponent <CharacterController>().InitialiseValues(characterJson); }
private async Task FillCharacter(CharacterJson characterJson) { await _dbManager.DeleteByBlizzardId <Character>(characterJson.Id).ConfigureAwait(false); CharacterJson result = await _blizzardApiReader.GetAsync <CharacterJson>($"profile/wow/character/{characterJson.Realm.Slug}/{characterJson.Name.ToLower()}", Namespace.Profile).ConfigureAwait(false); bool isValid; if (result.ResultCode != HttpStatusCode.OK) { await _dbManager.Log(new LogEvent { Message = "Unabled to reach BlizzardAPI", Description = $"Return code {result.ResultCode}", Collection = "Character", BlizzardId = characterJson.Id, KeyData = $"{characterJson.Name}-{characterJson.Realm.Slug}", Severity = LogLevel.Warning }).ConfigureAwait(false); characterJson.ResultCode = result.ResultCode; result = characterJson; isValid = true; } else { CharacterStatusJson characterStatutJson = await _blizzardApiReader.GetAsync <CharacterStatusJson>($"profile/wow/character/{characterJson.Realm.Slug}/{characterJson.Name.ToLower()}/status", Namespace.Profile).ConfigureAwait(false); isValid = characterStatutJson.ResultCode == HttpStatusCode.OK && characterStatutJson.IsValid && characterStatutJson.Id == characterJson.Id; if (isValid) { result.Media = await _blizzardApiReader.GetAsync <MediaJson>($"profile/wow/character/{characterJson.Realm.Slug}/{characterJson.Name.ToLower()}/character-media", Namespace.Profile).ConfigureAwait(false); } else { await _dbManager.Log(new LogEvent { Message = "Character Invalid", Description = $"Blizzard API return invalid status (character may be innactive or deleted)", Collection = "Character", BlizzardId = characterJson.Id, KeyData = $"{characterJson.Name}-{characterJson.Realm.Slug}", Severity = LogLevel.Warning }).ConfigureAwait(false); await _dbManager.DeleteByBlizzardId <Character>(characterJson.Id).ConfigureAwait(false); } } if (isValid) { await _dbManager.Insert(new Character(result)).ConfigureAwait(false); } }
public static CharacterEntity BuildEntityFromJsonObject(CharacterJson characterJson) { CharacterType GetTypeFromString(string typeString) { return(typeString switch { "Political Leader" => CharacterType.PoliticalLeader, "Military Leader" => CharacterType.MilitaryLeader, "Pilot" => CharacterType.Pilot, "Support" => CharacterType.Support, "Cylon Leader" => CharacterType.CylonLeader, _ => CharacterType.Support }); }
public PlayerCharacter(CharacterJson json, int targetLevel) { info = new UnitJson { id = json.id, name = json.name, description = json.description, race = json.race, type = json.type, learnedSkills = json.learnedSkills, totalSkills = json.totalSkills, modelImgPath = json.modelImgPath, faceImgPath = json.faceImgPath, stats = new UnitStatJson() }; weaponTypes = json.weaponTypes; //if (!String.IsNullOrEmpty(json.weaponID)) //{ weapon = new PlayerWeapon(json.weaponID); //} // (json.armorIDs.Length > 0) //{ armors = new List <PlayerArmor>(); for (int i = 0; i < json.armorIDs.Length; i++) { armors.Add(new PlayerArmor(json.armorIDs[i])); } //} SetStatByLevel(targetLevel, json); bodyPower = 0; availableAttributes = 0; availableSkillPoints = 0; CalculateBattleStat(); RefreshStatus(); }
public void SetStatByLevel(int lvl, CharacterJson character) { if (lvl > 0) { level = lvl; experience = 0; info.stats.hp = character.stats.hp + (character.growthStat.hp * (lvl - 1)); info.stats.mp = character.stats.mp + (character.growthStat.mp * (lvl - 1)); info.stats.strength = character.stats.strength + (character.growthStat.strength * (lvl - 1)); info.stats.dexterity = character.stats.dexterity + (character.growthStat.dexterity * (lvl - 1)); info.stats.intelligence = character.stats.intelligence + (character.growthStat.intelligence * (lvl - 1)); info.stats.vitality = character.stats.vitality + (character.growthStat.vitality * (lvl - 1)); info.stats.wisdom = character.stats.wisdom + (character.growthStat.wisdom * (lvl - 1)); info.stats.endurance = character.stats.endurance + (character.growthStat.endurance * (lvl - 1)); } info.stats.fireRes = character.stats.fireRes; info.stats.lightningRes = character.stats.lightningRes; info.stats.iceRes = character.stats.iceRes; info.stats.holyRes = character.stats.holyRes; info.stats.darkRes = character.stats.darkRes; }
private async Task FillRoster(GuildRosterJson guildRosterJson) { List <Task> tasks = new List <Task>(); foreach (GuildMemberJson memberJson in guildRosterJson.Members) { if (memberJson.Member != null && memberJson.Member.Realm != null) { CharacterJson characterJson = new CharacterJson { Id = memberJson.Member.Id, Name = memberJson.Member.Name, Realm = new RealmJson { Slug = memberJson.Member.Realm.Slug } }; tasks.Add(FillCharacter(characterJson)); } } await Task.WhenAll(tasks).ConfigureAwait(false); }
public static void LoadData( out Dictionary <string, Character> characterDict, out Character[] characterArray, out Dictionary <string, Dialogue> dialogues) { dialogues = LoadDialogues(); string characterFileContent = GetFileContent(Application.dataPath + CHARACTERS_PATH); int currentPosition = 1; string characterKey, characterJsonEntry; List <Character> charactersList = new List <Character>(); characterDict = new Dictionary <string, Character>(); while (TryGetNextEntry(characterFileContent, ref currentPosition, out characterKey, out characterJsonEntry)) { CharacterJson characterRaw = JsonUtility.FromJson <CharacterJson>(characterJsonEntry); Character character = new Character(); character.Name = characterKey; character.StartingDialogue = dialogues[characterRaw.StartingDialogue]; character.CurrentDialogue = character.StartingDialogue; if (characterKey != "AI") { character.LikedCharacter = characterRaw.LikedCharacter == null ? string.Empty : characterRaw.LikedCharacter; character.DislikedCharacter = characterRaw.DislikedCharacter == null ? string.Empty : characterRaw.DislikedCharacter; character.LikedMapSide = characterRaw.LikedMapSide == null ? MapSide.None : (MapSide)Enum.Parse(typeof(MapSide), characterRaw.LikedMapSide); character.DislikedMapSide = characterRaw.DislikedMapSide == null ? MapSide.None : (MapSide)Enum.Parse(typeof(MapSide), characterRaw.DislikedMapSide); character.DiscoveredHints = new HashSet <string>(); character.HappyEnding = characterRaw.HappyEnding; character.SadEnding = characterRaw.SadEnding; charactersList.Add(character); } characterDict.Add(characterKey, character); } characterArray = charactersList.ToArray(); }
public void AddCharacter(CharacterJson character, int level) { Characters.Add(new PlayerCharacter(character, level)); }
protected void Load(CharacterJson characterJson) { if (CheckJson(characterJson)) { BlizzardId = characterJson.Id; Name = characterJson.Name; if (characterJson.Faction != null) { Faction = characterJson.Faction.Type.ParseCode <Faction>(); } if (characterJson.Gender != null) { Gender = characterJson.Gender.Type.ParseCode <Gender>(); } if (characterJson.Class != null) { ClassID = characterJson.Class.Id; } if (characterJson.Race != null) { Race = new Race { BlizzardId = characterJson.Race.Id } } ; Level = characterJson.Level; if (characterJson.Media != null) { if (characterJson.Media.Assets != null) { if (characterJson.Media.Assets.Any(x => x.Key == "avatar")) { Avatar = new Uri(characterJson.Media.Assets.Find(x => x.Key == "avatar").Value); } if (characterJson.Media.Assets.Any(x => x.Key == "inset")) { Inset = new Uri(characterJson.Media.Assets.Find(x => x.Key == "inset").Value); } if (characterJson.Media.Assets.Any(x => x.Key == "main")) { Main = new Uri(characterJson.Media.Assets.Find(x => x.Key == "main").Value); } if (characterJson.Media.Assets.Any(x => x.Key == "main-raw")) { MainRaw = new Uri(characterJson.Media.Assets.Find(x => x.Key == "main-raw").Value); } } else { if (!string.IsNullOrEmpty(characterJson.Media.AvatarUrl)) { Avatar = new Uri(characterJson.Media.AvatarUrl); } if (!string.IsNullOrEmpty(characterJson.Media.InsetUrl)) { Inset = new Uri(characterJson.Media.InsetUrl); } if (!string.IsNullOrEmpty(characterJson.Media.RenderUrl)) { Main = new Uri(characterJson.Media.RenderUrl); } } } } } }
public Character(CharacterJson characterJson) : this() { Load(characterJson); }