/// <summary> /// Sets the characters race resulting in a new UMA model being generated. /// </summary> /// <param name="race">Race.</param> public virtual void SetCharacterRace(AtavismRaceData race) { this.race = race; ResetModel(); foreach (UGUICharacterRaceSlot raceSlot in races) { raceSlot.RaceSelected(race); } UpdateRaceDetails(); }
/*public void SetRace(string race, string gender) * { * SetRace (race + gender); * this.gender = gender; * }*/ /// <summary> /// Cancels character creation and returns back to the selection screen /// </summary> public virtual void CancelCharacterCreation() { Destroy(character); if (characterSelected != null) { race = GetRaceDataByName((string)characterSelected["race"]); gender = (string)characterSelected["gender"]; CharacterSelected(characterSelected); } //ShowSelectionUI (); StartCharacterSelection(); }
Sprite GetRacePortrait(string gender, string raceName) { AtavismRaceData raceData = CharacterSelectionCreationManager.Instance.GetRaceDataByName(raceName); if (gender == "Male") { return(raceData.maleCharacterPrefab.GetComponent <AtavismMobAppearance>().portraitIcon); } else if (gender == "Female") { return(raceData.femaleCharacterPrefab.GetComponent <AtavismMobAppearance>().portraitIcon); } return(null); }
public virtual void StartCharacterCreation() { ShowCreationUI(); if (createCaracterName != null) { createCaracterName.text = ""; } if (TMPCreateCaracterName != null) { TMPCreateCaracterName.text = ""; } if (enterUI != null) { enterUI.SetActive(false); } if (races[0] != null) { race = races[0].raceData; } foreach (UGUICharacterRaceSlot raceSlot in races) { raceSlot.RaceSelected(race); } UpdateRaceDetails(); aspect = classes[0].classData; foreach (UGUICharacterClassSlot classSlot in classes) { classSlot.ClassSelected(aspect); } if (character != null) { Destroy(character); } characterName = ""; int randomResult = UnityEngine.Random.Range(0, 2); if (randomResult == 0) { gender = "Male"; } else { gender = "Female"; } if (avatarList != null) { avatarList.PreparSlots(race.raceName, gender, aspect.className); } // Do this after gender so the icons can be updated UpdateClassDetails(); ResetModel(); /*if (classes.Count > 0) * aspect = classes [0]; * SetCharacter ();*/ loginState = LoginState.CharacterCreate; creationState = CreationState.Body; }
public virtual void CharacterSelected(CharacterEntry entry) { characterSelected = entry; foreach (UGUICharacterSelectSlot charSlot in characterSlots) { charSlot.CharacterSelected(characterSelected); } if (character != null) { Destroy(character); } race = GetRaceDataByName((string)characterSelected["race"]); gender = (string)characterSelected["gender"]; Dictionary <string, object> appearanceProps = new Dictionary <string, object>(); foreach (string key in entry.Keys) { if (key.StartsWith("custom:appearanceData:")) { appearanceProps.Add(key.Substring(23), entry[key]); } } // Dna settings string prefabName = (string)characterSelected["model"]; if (prefabName.Contains(".prefab")) { int resourcePathPos = prefabName.IndexOf("Resources/"); prefabName = prefabName.Substring(resourcePathPos + 10); prefabName = prefabName.Remove(prefabName.Length - 7); } GameObject prefab = (GameObject)Resources.Load(prefabName); if (prefab != null) { character = (GameObject)Instantiate(prefab, spawnPosition.position, spawnPosition.rotation); } else { Debug.LogError("prefab = null model: " + prefabName + " Loading ExampleCharacter"); prefab = (GameObject)Resources.Load("ExampleCharacter"); if (prefab != null) { character = (GameObject)Instantiate(prefab, spawnPosition.position, spawnPosition.rotation); } } //SetCharacter (prefab); // Set equipment if (characterSelected.ContainsKey("weaponDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("weaponDisplayID", (string)characterSelected["weaponDisplayID"]); } if (characterSelected.ContainsKey("weapon2DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("weapon2DisplayID", (string)characterSelected["weapon2DisplayID"]); } // UMA-equipment properties if (characterSelected.ContainsKey("legDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("legDisplayID", (string)characterSelected["legDisplayID"]); } if (characterSelected.ContainsKey("chestDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("chestDisplayID", (string)characterSelected["chestDisplayID"]); } if (characterSelected.ContainsKey("headDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("headDisplayID", (string)characterSelected["headDisplayID"]); } if (characterSelected.ContainsKey("feetDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("feetDisplayID", (string)characterSelected["feetDisplayID"]); } if (characterSelected.ContainsKey("handDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("handDisplayID", (string)characterSelected["handDisplayID"]); } if (characterSelected.ContainsKey("capeDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("capeDisplayID", (string)characterSelected["capeDisplayID"]); } if (characterSelected.ContainsKey("shoulderDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("shoulderDisplayID", (string)characterSelected["shoulderDisplayID"]); } if (characterSelected.ContainsKey("beltDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("beltDisplayID", (string)characterSelected["beltDisplayID"]); } if (characterSelected.ContainsKey("ringDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("ringDisplayID", (string)characterSelected["ringDisplayID"]); } if (characterSelected.ContainsKey("ring2DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("ring2DisplayID", (string)characterSelected["ring2DisplayID"]); } if (characterSelected.ContainsKey("earringDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("earringDisplayID", (string)characterSelected["earringDisplayID"]); } if (characterSelected.ContainsKey("earring2DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("earring2DisplayID", (string)characterSelected["earring2DisplayID"]); } if (characterSelected.ContainsKey("rangedDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("rangedDisplayID", (string)characterSelected["rangedDisplayID"]); } if (characterSelected.ContainsKey("neckDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("neckDisplayID", (string)characterSelected["neckDisplayID"]); } if (characterSelected.ContainsKey("slot1DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot1DisplayID", (string)characterSelected["slot1DisplayID"]); } if (characterSelected.ContainsKey("slot2DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot2DisplayID", (string)characterSelected["slot2DisplayID"]); } if (characterSelected.ContainsKey("slot3DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot3DisplayID", (string)characterSelected["slot3DisplayID"]); } if (characterSelected.ContainsKey("slot4DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot4DisplayID", (string)characterSelected["slot4DisplayID"]); } if (characterSelected.ContainsKey("slot5DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot5DisplayID", (string)characterSelected["slot5DisplayID"]); } if (characterSelected.ContainsKey("slot6DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot6DisplayID", (string)characterSelected["slot6DisplayID"]); } if (characterSelected.ContainsKey("slot7DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot7DisplayID", (string)characterSelected["slot7DisplayID"]); } if (characterSelected.ContainsKey("slot8DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot8DisplayID", (string)characterSelected["slot8DisplayID"]); } if (characterSelected.ContainsKey("slot9DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot9DisplayID", (string)characterSelected["slot9DisplayID"]); } if (characterSelected.ContainsKey("slot10DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot10DisplayID", (string)characterSelected["slot10DisplayID"]); } if (characterSelected.ContainsKey("slot11DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot11DisplayID", (string)characterSelected["slot11DisplayID"]); } if (characterSelected.ContainsKey("slot12DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot12DisplayID", (string)characterSelected["slot12DisplayID"]); } if (characterSelected.ContainsKey("slot13DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot13DisplayID", (string)characterSelected["slot13DisplayID"]); } if (characterSelected.ContainsKey("slot14DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot14DisplayID", (string)characterSelected["slot14DisplayID"]); } if (characterSelected.ContainsKey("slot15DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot15DisplayID", (string)characterSelected["slot15DisplayID"]); } if (characterSelected.ContainsKey("slot16DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot16DisplayID", (string)characterSelected["slot16DisplayID"]); } if (characterSelected.ContainsKey("slot17DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot17DisplayID", (string)characterSelected["slot17DisplayID"]); } if (characterSelected.ContainsKey("slot18DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot18DisplayID", (string)characterSelected["slot18DisplayID"]); } if (characterSelected.ContainsKey("slot19DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot19DisplayID", (string)characterSelected["slot19DisplayID"]); } if (characterSelected.ContainsKey("slot20DisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("slot20DisplayID", (string)characterSelected["slot20DisplayID"]); } if (characterSelected.ContainsKey("fashionDisplayID")) { character.GetComponent <AtavismMobAppearance>().UpdateEquipDisplay("fashionDisplayID", (string)characterSelected["fashionDisplayID"]); } // Name if (nameUI != null) { nameUI.text = (string)entry["characterName"]; } if (TMPNameUI != null) { TMPNameUI.text = (string)entry["characterName"]; } // Temp if (character != null && character.GetComponent <CustomisedHair>() != null) { CustomisedHair customHair = character.GetComponent <CustomisedHair>(); if (characterSelected.ContainsKey(customHair.hairPropertyName)) { customHair.UpdateHairModel((string)characterSelected[customHair.hairPropertyName]); } } }