示例#1
0
        public void HighlightParty(Party p)
        {
            UI_PartyListElement elem = ListElements[p];

            elem.Background.color = ColorManager.Singleton.UiMainLighter2;
            elem.transform.SetAsLastSibling();
        }
示例#2
0
        private void CalculateTargetPositions(Dictionary <Party, int> values)
        {
            SourcePositions.Clear();
            TargetPositions.Clear();

            int counter = 0;
            Dictionary <Party, int> sortedValues = Dynamic ? values.OrderByDescending(x => x.Value).ToDictionary(x => x.Key, x => x.Value) : values;

            foreach (KeyValuePair <Party, int> entry in sortedValues)
            {
                float y = -(counter * (ListElementHeight + PADDING));
                UI_PartyListElement elem = ListElements[entry.Key];
                SourcePositions.Add(elem, elem.GetComponent <RectTransform>().anchoredPosition);
                TargetPositions.Add(elem, new Vector2(0, y));
                counter++;
            }
        }
示例#3
0
        public void Init(Dictionary <Party, int> values, bool dynamic)
        {
            ListElements.Clear();
            ListElementHeight = PartyListElementPrefab.GetComponent <RectTransform>().sizeDelta.y;
            IsAnimating       = false;
            Parties           = values.Keys.ToList();
            Dynamic           = dynamic;

            for (int i = 0; i < ListContainer.transform.childCount; i++)
            {
                Destroy(ListContainer.transform.GetChild(i).gameObject);
            }

            foreach (KeyValuePair <Party, int> entry in values)
            {
                UI_PartyListElement elem = Instantiate(PartyListElementPrefab, ListContainer.transform, false);
                elem.Init(entry.Key, entry.Value.ToString());
                ListElements.Add(entry.Key, elem);
            }

            CalculateTargetPositions(values);
            UpdatePartyPosition(Parties);
        }