示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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;
        }