public static string GetRandomNameFromRaceAndGender(CharacterRace race, CharacterGender nameGender) { if (nameGender == CharacterGender.Male) { return(MaleCharacterRaceNames[race.GetHashCode()][Random.Range(0, MaleCharacterRaceNames[race.GetHashCode()].Length)]); } else { return(FemaleCharacterRaceNames[race.GetHashCode()][Random.Range(0, FemaleCharacterRaceNames[race.GetHashCode()].Length)]); } }
private void LeftRight() { GameObject parent; if (Constants.LastEndActionClickedName.Contains("Selector")) { parent = GameObject.Find(Constants.LastEndActionClickedName); } else { parent = GameObject.Find(Constants.LastEndActionClickedName).transform.parent.gameObject; } var bodyPart = parent.name.Substring(Helper.CharacterAfterString(parent.name, "Selector")); var spriteRenderer = parent.transform.Find("Sprite").GetComponent <SpriteRenderer>(); // GENDER // if (bodyPart.Contains("Gender")) { if (!Constants.LastEndActionClickedName.Contains("Selector")) { _gender = _gender == CharacterGender.Male ? CharacterGender.Female : CharacterGender.Male; } spriteRenderer.sprite = Helper.GetSpriteFromSpriteSheet("Sprites/IconsGender_" + _gender.GetHashCode()); if (!Constants.LastEndActionClickedName.Contains("Selector")) { UpdateButtons(); } return; } // RACE // if (bodyPart.Contains("Race")) { var raceId = _race.GetHashCode(); if (Constants.LastEndActionClickedName.Contains("Right")) { ++raceId; } else if (Constants.LastEndActionClickedName.Contains("Left")) { --raceId; } if (raceId < 0) { raceId = Helper.EnumCount <CharacterRace>() - 1; } else if (raceId >= Helper.EnumCount <CharacterRace>()) { raceId = 0; } _race = (CharacterRace)raceId; _raceTextMesh.text = _race.ToString(); if (!Constants.LastEndActionClickedName.Contains("Selector")) { UpdateButtons(); } return; } int id = 0; if (spriteRenderer.sprite != null) { id = int.Parse(spriteRenderer.sprite.name.Substring(Helper.CharacterAfterString(spriteRenderer.sprite.name, "_"))); } if (Constants.LastEndActionClickedName.Contains("Right")) { ++id; } else if (Constants.LastEndActionClickedName.Contains("Left")) { --id; } var customGender = ""; if (bodyPart.Contains("Skin")) { if (id < 0) { id = RacesData.NbSkinTemplates - 1; } else if (id >= RacesData.NbSkinTemplates) { id = 0; } } else if (bodyPart.Contains("Hair")) { if (id < 0) { id = RacesData.NbHairTemplates - 1; } else if (id >= RacesData.NbHairTemplates) { id = 0; } customGender += _gender; } else { if (id < 0) { id = RacesData.NbBodyTemplates - 1; } else if (id >= RacesData.NbBodyTemplates) { id = 0; } } var idMesh = GameObject.Find("Id" + bodyPart); if (idMesh != null) { idMesh.GetComponent <TMPro.TextMeshPro>().text = (id + 1).ToString(); } var customPart = ""; if (bodyPart.Contains("Arm") || bodyPart.Contains("Hand")) { customPart = "Front"; } var tmpRace = "Human"; var path = "Sprites/" + tmpRace + "/" + tmpRace + customGender + customPart + bodyPart + "_" + id; spriteRenderer.sprite = Helper.GetSpriteFromSpriteSheet(path); // SKIN COLOR // if (bodyPart.Contains("Skin")) { for (int i = 0; i < _skinContainer.transform.childCount; ++i) { var child = _skinContainer.transform.GetChild(i); if (child.name.Contains("Naked")) { var childSpriteRenderer = child.GetComponent <SpriteRenderer>(); var skinPath = "Sprites/" + tmpRace + "/" + childSpriteRenderer.sprite.name.Substring(0, childSpriteRenderer.sprite.name.Length - 1) + id; childSpriteRenderer.sprite = Helper.GetSpriteFromSpriteSheet(skinPath); } } return; } // BODY PART // if (customPart == "") { _skinContainer.transform.Find(bodyPart).GetComponent <SpriteRenderer>().sprite = Helper.GetSpriteFromSpriteSheet(path); } else { _skinContainer.transform.Find(customPart + bodyPart).GetComponent <SpriteRenderer>().sprite = Helper.GetSpriteFromSpriteSheet(path); customPart = "Back"; _skinContainer.transform.Find(customPart + bodyPart).GetComponent <SpriteRenderer>().sprite = Helper.GetSpriteFromSpriteSheet("Sprites/" + tmpRace + "/" + tmpRace + customGender + customPart + bodyPart + "_" + id); } }