public Visitor Create(Constants.RaceType raceType) { Visitor visitorInstance = Instantiate(visitorPrefab).GetComponent <Visitor>(); var visitorInfo = SdbInstance <Sdb.VisitorInfo> .Get(raceType.ToString()); if (visitorInfo == null) { Debug.LogError("VisitorInfo is null, Id : " + raceType.ToString()); } visitorInstance.Info = visitorInfo; visitorInstance.Serial = serialGenerator.Get(); visitorInstance.ApplySpriteSources(raceType); visitorInstance.transform.position = visitorCreateTransform.position; return(visitorInstance); }
private int CalculateScore(Logic.Visitor visitor) { Constants.RaceType raceType = visitor.Info.RaceType; Sdb.VisitorInfo visitorInfo = SdbInstance <Sdb.VisitorInfo> .Get(raceType.ToString()); int score = 0; int selectedIndex = visitorInfo.Attributes.IndexOf(visitor.SelectedAttribute); score += GetElementScore(selectedIndex); selectedIndex = visitorInfo.Facilities.IndexOf(visitor.SelectedFacility); score += GetElementScore(selectedIndex); selectedIndex = visitorInfo.Foods.IndexOf(visitor.SelectedFood); score += GetElementScore(selectedIndex); return(score); }
public void ApplySpriteSources(Constants.RaceType raceType) { string filePath = "Sprites/Character/" + raceType.ToString().Split('_')[0]; string gender = raceType.ToString().Split('_')[1]; var sprites = Resources.LoadAll <Sprite>(filePath); if (sprites == null || sprites.Length == 0) { throw new UnityException("Don't have Resources!!, path: " + filePath); } sprs.Clear(); for (int i = 0; i < sprRenders.Length; ++i) { sprRenders[i].sprite = null; for (int j = 0; j < sprites.Length; ++j) { var sprName = sprites[j].name; var split = sprName.Split('_'); if (split.Length >= 2) { if (sprRenders[i].name == split[0]) { if (split[1] == "M" || split[1] == "W") { if (gender == "M" && split[1] == "M") { sprRenders[i].sprite = sprites[j]; sprs.Add(split[0], sprites[j]); } else if (gender == "W" && split[1] == "W") { sprRenders[i].sprite = sprites[j]; sprs.Add(split[0], sprites[j]); } } else if (split[0] == "Eyes") { if (split[1] == "Default") { sprRenders[i].sprite = sprites[j]; } sprs.Add(split[1], sprites[j]); } } } else { if (sprRenders[i].name == sprName) { sprRenders[i].sprite = sprites[j]; sprs.Add(sprName, sprites[j]); } } } } sortingGroup.sortingOrder = -Serial; }